解题思路:
很简单的一道题,跟着题目描述的思路写就可以了。
注意事项:
需要注意的是,输入的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语言程序设计教程(第三版)课后习题7.2 (Java代码)浏览:690 |
C二级辅导-公约公倍 (C语言代码)浏览:1534 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1218 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:645 |
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:612 |
wu-淘淘的名单 (C++代码)浏览:1460 |
排序算法(选择,插入,冒泡)浏览:830 |
盐水的故事 (C语言代码)浏览:1552 |
很简单,,题解1041:C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:605 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:450 |