1 条题解
-
0
思路分析
1. 任务拆解:
- 读取正整数n
- 根据角谷猜想规则不断变换n的值
- 输出每一步的计算过程
- 当n变为1时结束并输出"End"
2. 关键点分析:
- 如果n是奇数:n = n×3+1
- 如果n是偶数:n = n÷2
- 每次变换后输出完整的计算过程
- 循环直到n变为1
3. 步骤规划:
- 读取n的值
- 当n不等于1时循环:
- 如果是奇数,执行乘3加1并输出过程
- 如果是偶数,执行除以2并输出过程
- 循环结束后输出"End"
4. 代码对应:
cin>>n;→ 读取初始值while(n!=1)→ 循环直到n变为1if(n%2==1)→ 判断是否为奇数cout<<n<<"*3+1="; n=n*3+1; cout<<n<<endl;→ 输出奇数变换过程cout<<n<<"/2="; n/=2; cout<<n<<endl;→ 输出偶数变换过程cout<<"End";→ 输出结束标记
- 1
信息
- ID
- 1703
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- (无)
- 递交数
- 296
- 已通过
- 168
- 上传者