题解 P5727 【【深基5.例3】冰雹猜想】
ShineEternal
2019-12-21 21:15:20
模拟n变化为1的过程,然后存到一个数组中倒序输出
```cpp
#include<cstdio>
using namespace std;
int a[10005];
int cnt;
int main()
{
int n;
scanf("%d",&n);
int tmp=1;
printf("1 ");
while(n!=1)
{
if(n%2==0)
{
a[++cnt]=n;
n=n/2;
}
else
if(n%2==1)
{
a[++cnt]=n;
n=n*3+1;
}
}
for(int i=cnt;i>=1;i--)
{
printf("%d ",a[i]);
}
return 0;
}
```