Kevin


私信TA

用户名:137310853

访问量:6036

签 名:

大自然的搬运工

等  级
排  名 842
经  验 1985
参赛次数 2
文章发表 8
年  龄 19
在职情况 学生
学  校 东莞理工学院
专  业 软件工程

  自我简介:

排名全靠刷 代码全靠偷

TA的其他文章

解题思路:
很简单的一道题,跟着题目描述的思路写就可以了。


注意事项:
需要注意的是,输入的i不一定小于j!


参考代码:

#include <stdio.h>

int getCycle(long long int n);

int main()
{
    int i, j, max;
    while(scanf("%d%d", &i, &j) != EOF)
    {
        max = 0;
        if(i < j)
        {
            for(int i2 = i; i2<=j; i2++)
                if(getCycle(i2) > max)
                    max = getCycle(i2);
        }
        else
        {
            for(int i2 = j; i2<=i; i2++)
                if(getCycle(i2) > max)
                    max = getCycle(i2);
        }
        printf("%d %d %d\n", i, j, max);
    }
    return 0;
}

int getCycle(long long int n)
{
    int i=1;
    while( n != 1)
    {
        if(n % 2 == 1)//奇数
            n = n * 3 + 1;
        else
            n /= 2;
        i++;
    }
    return i;
}


 

0.0分

0 人评分

  评论区