HDOJ 3782(xxx定理)
965 ワード
/* Note:Your choice is C IDE */
#include <stdio.h>
#include<time.h>
#include<stdlib.h>
int vis[1005];
int num;
void fun()
{
int i,j;int cnt=0;
vis[1]=0;
for(j=2;j<=1005;j++)
{
/*
, , ;
, , i=j
ok
*/
cnt=0;i=j;
while(i!=1)
{
if(i&1)
{
i=3*i+1;
i>>=1;
cnt++;
}
else
{
i>>=1;
cnt++;
}
}
vis[j]=cnt;
}
}
int main()
{
int clock1,clock2;
clock1=clock();
fun();
scanf("%d",&num);
printf("%d
",vis[num]);
clock2=clock();
printf("%d
",clock2-clock1);
system("pause");
return 0;
}