回分類題庫
a023: 3N+1 (**)
關鍵字: while 迴圈

測資點 : 5 | Time Limit : 1000 ms | Memory Limit : 32000 KB
Accepted : 17233 Times / 15275 Users | Submit : 24700 Times / 15636 Users | Accepted rate : 98%
題目加入時間 : 2011-08-15 15:08

Content: 简体中文

有一個數列是這樣的:

  1. 第一項是一個大於一的正整數 N
  2. 如果這一項是奇數,則它的下一項是 3N+1
  3. 如果這一項是偶數,則它的下一項是 N/2
  4. 如此反覆,直到最後一項出現 1 為止

 現在給你第一項的 N,請你求出這個數列有幾項,例如第一項是3,則這個數列為:3、10、5、16、8、4、2、1,共8項。

Input:

輸入一個大於1的正整數 N。

Output:

請輸出以 N 為第一項的數列有幾項。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
輸入1:
3

輸入2:
12

Sample Output :

輸出1:
8

輸出2:
10

Hint :

可以在 while 裡面使用 if 去判斷奇數或偶數。

Author :

while 迴圈 (管理員:sagit)

  Solve it!   Status Forum