解题思路:
注意事项:
参考代码:
#include<stdio.h>
int cyclen(int num);
int main()
{
int a,b,i,max=0,temp;
while(scanf("%d%d",&a,&b)!=EOF)
{
printf("%d %d ",a,b);
if(a>b) //注意比较两数大小并交换数值
temp=a,a=b,b=temp;
max=cyclen(a);
for(i=a+1;i<=b;i++)
{
temp=cyclen(i);
max=(temp>max?temp:max);
}
printf("%d\n",max);
max=0;
}
return 0;
}
int cyclen(int num)
{
int cnt=1;
while(num!=1)
{
if(num%2==1) num=3*num+1;
else num/=2;
cnt++;
}
return cnt;
}
0.0分
0 人评分
第一浏览:873 |
C语言程序设计教程(第三版)课后习题10.7 (C++代码)(都说了scanf和gets一般不要混着用)浏览:1127 |
点我有惊喜!你懂得!浏览:3888 |
九宫重排 (C++代码)浏览:1336 |
C语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1338 |
矩阵乘法 (C++代码)浏览:1462 |
回文数(一) (C语言代码)浏览:754 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:577 |
1908题解浏览:640 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:462 |