解题思路:
注意事项:
参考代码:
#include"bits/stdc++.h" using namespace std; int main(){ // 定义变量a, b, c和数组d,l用于记录步数 long long a,b,c,d[10000],l; // 循环读取输入的a和b while(cin>>a>>b){ // 初始化步数计数器为0 l=0; // 定义m和n用于存储a和b的最大值和最小值 int m,n; // 获取a和b中的最大值 m=max(a,b); // 获取a和b中的最小值 n=min(a,b); // 遍历从n到m的所有整数 for(int i=n;i<=m;i++){ // 将当前整数赋值给c c=i; // 初始化步数为1 int g=1; a: // 如果c等于1,则记录步数并继续下一个整数 if(c==1){ d[l]=g; l++; continue; } // 如果c是偶数,则将其除以2并增加步数 if(c%2==0){ c=c/2; g++; goto a; } // 如果c是奇数,则将其变为3倍加1并增加步数 if(c%2==1){ c=3*c+1; g++; goto a; } } // 对记录的步数进行排序 sort(d,d+l); // 输出a, b和最大步数 cout<<a<<" "<<b<<" "<<d[l-1]<<endl; } return 0; }
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:652 |
C语言训练-字符串正反连接 (C语言代码)浏览:664 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:575 |
简单的a+b (C语言代码)浏览:560 |
愚蠢的摄影师 (C++代码)浏览:980 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1457 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:672 |
链表数据求和操作 (C语言代码)浏览:1035 |
非常简单的算法,题解1049:C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:639 |
C语言程序设计教程(第三版)课后习题6.7 (C++代码)浏览:602 |