题解,请参考?。
查看原帖
题解,请参考?。
579109
LiDingguang楼主2021/11/28 21:11

这道题,由于他要倒序输出,所以我们务必要使用数组

我的想法是将输入存入a[0],然后将一直变化的量n进行如下操作:

n=a[0];

此后进入for循环,判断:

if(a[i]%2==1){
	a[i+1]=a[i]*3+1;
	n=n*3+1;
}else{
	a[i+1]=a[i]/2;
	n/=2;
}

最后倒序输出,代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a[1001],i;
    cin>>a[0];
    int n=a[0];
    for(i=0;n>1;i++){
        if(a[i]%2==1){
            a[i+1]=a[i]*3+1;
            n=n*3+1;
        }else{
            a[i+1]=a[i]/2;
            n/=2;
        }
    }
    for(int j=i;j>=0;j--){
        cout<<a[j]<<" ";
    }
    return 0;
}

点个赞,谢啦?

2021/11/28 21:11
加载中...