題目描述:
請計算需要經過幾步才能將n變到1,具體可見樣例。
- 輸入:
-
測試包含多個用例,每個用例包含一個整數n,當n爲0 時表示輸入結束。(1<=n<=10000)
- 輸出:
-
對於每組測試用例請輸出一個數,表示需要經過的步數,每組輸出佔一行。
- 樣例輸入:
-
3 1 0
- 樣例輸出:
-
5 0
============================================
#include<stdio.h>
void main()
{
int n,t;
while(scanf("%d",&n)!=EOF && n!=0)
{
t=0;
while(n!=1)
{
if(n%2==0)
n=n/2;
else
n=(3*n+1)/2;
t++;
}
printf("%d\n",t);
}
}
============================================
挺簡單的一題~
如有不同意見,歡迎交流!
============================================
來源:
2009年浙江大學計算機及軟件工程研究生機試真題