c++oj网第1363与1361题(3n+1数链问题、明明的随机数)
代码如下:
#include <stdio.h>
//计算链长
int getLength(int n)
{
if(n==1)
return 1;
else
{
if(n%2==0)
n = n/2;
else
n = 3*n+1;
return 1+getLength(n);
}
}
int main()
{
int i,j,t,len,maxlen = 0;
FILE* fp = fopen("link.in","r");
if(fp == 0) {printf("file open error\n");return 0;}
fscanf(fp,"%d %d",&i,&j);//从文件读取i和j的值
fclose(fp);
for(t = i;t<=j;t++)
{
len = getLength(t);
if(len > maxlen) maxlen = t;
}
printf("%d",maxlen);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!