c++oj网第1363与1361题(3n+1数链问题、明明的随机数)

img

img

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;
}
 

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632