a072. 比較不一樣 3N+1-2
Tags :
Accepted rate : 3人/3人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2020-05-18 11:49

Content

考慮到下面的演算法:

 

輸入整數n,當n等於1時停止


如果n是奇數,則n=3n+1
其餘的狀況,則n=n/2


例如,
輸入22,則會印出下列的數列: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

 

上面這個演算法,目前被推測認為在給予任何整數輸入值時皆可以停下來(也就是說最後都能夠輸出1)。儘管這個演算法還蠻簡單的,但卻無法確定這個推測是否是正確的;然而可以確定的是,在輸入值n介於0到1,000,000之間時,這個推測是正確的(實際上,還有比0到1,000,000更多的輸入值也是可以讓演算法停下來)。

 

給予一個輸入n,我們可以去算出總共會有幾個數字會被印出(包含1),而這個總數就被稱作n的循環長度(cycle-length of n)。在上面的範例中,22的循環長度為16。


問題來了:對任2個整數i,j,列出i與j之間得循環數,與循環次數。

Input
Output
Sample Input #1
10 7
Sample Output #1
7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
循環次數16
8 4 2 1
循環次數3
9 28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
循環次數19
10 5 16 8 4 2 1
循環次數6
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
Hint :
Tags:
出處:
[管理者: coolsea(coolsea) ]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」