想知道为什么把if(n==1)这个条件去掉后,程序就没发走了呢,但是加上又可以正常运行了
#include<iostream>
using namespace std;
typedef long long ll;
int a[100];
int main()
{
ll n;
cin>>n;
a[0]=n;
int ans=0;
for(int i=1;;i++){
if(n%2!=0){
n=n*3+1;
a[i]=n;
ans++;
}
else if(n%2==0){
n=n/2;
a[i]=n;
ans++;
}
if(n==1){ //就是这里,如果去掉就没法走了
a[i]=n;
break;
}
}
for(int i=ans;i>=0;i--){
cout<<a[i]<<" ";
}
return 0;
}