ReadMe:
1.本篇文章是我做PTA乙级的题目的笔记,包含:源码(即题解,一定是在OJ平台上确保全部正确了的)、注释(题目要求、本人做题时犯的错误、做题的心路历程),供大家参考,欢迎批评指正,共同进步!
2.刷题顺序不按照题号顺序,但是题号我都会标注清楚。
1001 害死人不偿命的3n+1猜想
#include<iostream>
using namespace std;
// 输入一个小于1000的整数n
// 若为偶数,赋值为n/2
// 若为奇数,赋值为(3n+1)/2
// 测试最终需要通过几步才能把n变成1
// 注意事项:1.若输入n为1则不需要进行上述变换,也就是0步就变成1
// 2.需要对异常输入,即n>1000的情况做处理
// 3.不能在输入n之后创建一个变量m = 3n+1,因为这样一来m就是一个定值,不符合题意
// 4.本题显然需要用到while循环,while循环的结束条件可以是n==1,
// 也可以是死循环,然后当n==1时break,第二种方法需要注意把判断放到循环体开头
int main(){
int n; // n为不超过1000的正整数
int count = 0; // n到达1的步数
cin>>n;
if(n>1000){
exit(0);
}
while(true){
if(n==1){
break;
}
if(n%2==0)