所以是哪里有问题呢?(来自蒟蒻的求助)
查看原帖
所以是哪里有问题呢?(来自蒟蒻的求助)
1210305
TripFriend1130楼主2023/12/15 20:10

额,就是说吧,输出里面没有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;
}
2023/12/15 20:10
加载中...