解题思路: 函数的递归 用全局变量记录函数调用的次数。
注意事项:a,b的大小 正负
参考代码:
#include<stdio.h>
int T=1; //记录函数的调用次数
void odd_even(unsigned int x)
{
if(x==1) return;
else if(x%2==0) T++,odd_even(x/2);
else T++,odd_even(x*3+1);
}
void swap(int *a,int *b)
{
int t;t=*a;*a=*b;*b=t;
}
int main()
{
unsigned int i,a,b;
int t,max=0;
while(scanf("%u %u",&a,&b)==2)
{
printf("%d %d",a,b);
if(a>b) swap(&a,&b);
for(i=a;i<=b;i++){
odd_even(i);
t=T;
T=1;
if(max<t) max=t;
}
printf(" %d\n",max);
max=0;
T=1;
}
return 0;
}
0.0分
0 人评分
回文数(一) (C语言代码)浏览:766 |
数组输出 (C语言代码)错误???浏览:571 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:603 |
C语言训练-数字母 (C语言代码)浏览:650 |
WU-判定字符位置 (C++代码)浏览:1408 |
水仙花 (C语言代码)浏览:1095 |
1050题解(结构体数组与结构体指针的使用)浏览:1114 |
勾股数 (C语言代码)浏览:800 |
复数求和 (C语言代码)浏览:929 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:451 |