Problem Description 對於一個數n,如果是偶數,就把n砍掉一半;如果是奇數,把n變成 3*n+ 1後砍掉一半,直到該數變為1為止。 請計算需要經過幾步才能將n變到1,具體可見樣例。 Input 測試包含多個用例,每個用例包含一個整數n,當n為0 時表示輸入結束。(1<=n<=10000) Output 對於每組測試用例請輸出一個數,表示需要經過的步數,每組輸出占一行。 Sample Input 3 1 0 Sample Output 5 0 [cpp] #include <iostream> using namespace std; int main() { int n; while(cin >> n && n) { int cnt = 0; while(n!=1) { if(n%2) n = (3*n+1)/2; else n = n/2; cnt++; } cout << cnt << endl; } return 0; }