static void collatz(int i)
{
int x=0,a=0,res=0,count=0;
int array[50];
array[0]=i;
while(array[count]!=0)
{
if(array[count]%2==0)
{
count++;
array[count]=i/2;
}
else
{
count++;
array[count]=3*array[count-1]-1;
}
}
}
int main()
{
int a;
scanf("%d",&a);
collatz(a);
system("pause");
return 0;
}
當我編譯並運行代碼時,我輸入8作爲「a」並且控制檯壓縮自己。我正在使用dev c。 對不起,我可怕的英語,但我希望我很清楚。collatz c代碼邏輯錯誤
嘗試:'而(!陣列[COUNT] = 0 &&計數<50)' –
@YohanesKhosiawan許先漢8在Collatz序列是8 4 2 1,所以不能與計數 –
如果問題這就是他想要的,'array [count] = i/2;'應該是'array [count] = array [count-1]/2;'.. –