問題描述
CollatzCollatz CollatzCollatz 問題 (又稱 「3n +1」問題 ),一開始給定個大於 1的正整數 n,其 變換方法如下:
(甲)若 n為偶數 (即 n可被 2整除 ),則把 n除以 2,即 n→n÷2。
(乙)若 n為大於 1的奇數 (即 n不可被 2整除 ),則把 ,則把 n乘 3再加 1,即 n→ (3n +1)。
(丙)若 n為 1,則 結束 。
比如說從 5開始的話, 其變換 的步驟如下: 5 → 5×3+1=16 → 16 ÷2=8 → 8÷2=4 → 4÷2=2 → 2÷2=1
其中一共做了 5次的變換,最後停止在 1。
再舉個例子,最開始的數取 7,我們得到下面的序列:
7→22 →11 →34 →17 →52 →26 →13 →40 →20 →10 →5→16 →8→4→2→1
這次複雜了一點, 其中一共做了 16 次的變換, 但是 我們最終還停止在 1。
這個特性是 1937 年數學家 CollatzCollatz CollatzCollatz 所提出來的一個 所提出來的一個 猜想 :所有正整數經由這 :所有正整數經由這 :所有正整數經由這 個變換,最後會停止在 1。
現在 要請你寫一個程式 來求出轉換的次數 。
測試資料為1~10列以EOF結束,每列為一個 正整數 n,其值介於 2 至 30000 。
對每列輸入,輸出資料為一個正整數, 共要做多少次變換n才會停止在 1。
3 5 7
7 5 16
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
40396 | toseanlin@gm ... (Dr. SeanXD) | b553 | 152 | 2024-05-17 11:34 | |
28509 | jeremydinger ... (164253) | b553 | 567 | 2021-12-15 07:31 | |
28471 | alex950301 (alex0301) | b553 | 619 | 2021-12-12 14:22 |