额,就是说吧,输出里面没有1,所以我物理输出了一个1上去。。。
代码如下(有问题可以提提建议):
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int n2 = n;
int count = 0;
while(true)
{
if(n%2 != 0)
{
n*=3;
n+=1;
}
else
{
n/=2;
}
if(n == 1)
{
break;
}
count++;
}
count--;
int sum[count];
for(int i = 0;i <= count;i++)
{
if(n2%2 != 0)
{
n2*=3;
n2+=1;
sum[i]=n2;
}
else
{
n2/=2;
sum[i]=n2;
}
if(n2 == 1)
{
sum[i]=1;
break;
}
}
cout << 1 << " ";
for(int j = count;j >= 0;j--)
{
cout << sum[j] << " ";
}
return 0;
}