解题思路:
很简单的一道题,跟着题目描述的思路写就可以了。
注意事项:
需要注意的是,输入的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 人评分
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:3266 |
简单的a+b (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:461 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1036 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:588 |
C语言训练-亲密数 (C语言代码)浏览:675 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:558 |
蚂蚁感冒 (C语言代码)浏览:1283 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:647 |
C二级辅导-阶乘数列 (C语言代码)浏览:505 |