题目要我们倒序输出,那么我们可以正序模拟一遍,把其中每一个结果都存进数组里,然后倒序输出这个数组即可。
附代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include<bits/stdc++.h> using namespace std;
int a[10000];
int main(){ int n,m,i=1; cin>>m; n=m; while(n!=1){ if(n%2==0){ n/=2; }else{ n=n*3+1; } a[i]=n; i++; } for(int j=i-1;j>0;j--){ cout<<a[j]<<" "; } cout<<m; return 0; }
|