- /*
- 不知道为啥拿c写的一直有三个点不通过(超时);而用别人的c++的就全通过了,但是看起来程序是一样的呀。
- */
-
#include <stdio.h>
int main()
{
int n;
scanf("%d\n",&n);
int cnt =0;
//if(n<=1000){
while(n != 1){
if(n%2 == 0){
n = n/2;
cnt++;
}else{
n =(3*n-1)/2;
cnt++;
}
}
//}else{
// printf("%d is larger than 1000\n", n);
//}
printf("%d\n", cnt);
return 0;
}
-
- #include <iostream>
- using namespace std;
- int main()
- {
- int n;
- cin>>n;
- int tmp=0;//tmp记步数
- while(n!=1)
- {
- if(n%2==0)
- {
- n=n/2;
- ++tmp;
- }
- else
- {
- n=(3*n+1)/2;
- ++tmp;
- }
- }
- cout<<tmp;
- return 0;
- }