原题链接:The 3n + 1 problem
参考代码:
#include<stdio.h> int fenjie(int a) { int i=0; while(a!=1) { if(a%2==0) { a=a/2; } else { a=a*3+1; } i++; } return i+1; } int main() { int i,j,sum[1000],k,l,t; while(scanf("%d%d",&i,&j)!=EOF) { if(j<i) { t=i; i=j; j=t; for(k=i;k<=j;k++) { sum[k-i]=fenjie(k); } for(l=0,k=0;k<=j-i-1;k++) { if(sum[l]<sum[k]) l=k; } printf("%d %d %d",j,i,sum[l]); printf("\n"); } else { for(k=i;k<=j;k++) { sum[k-i]=fenjie(k); } for(l=0,k=0;k<=j-i-1;k++) { if(sum[l]<sum[k]) l=k; } printf("%d %d %d",i,j,sum[l]); printf("\n"); } } return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复