[ACM ] Q100 The 3n + 1 problem
板上有很多這題的討論
不過我還是不知道為什麼我會得到WA
因為我的輸出結果看起來是正確的
想請問是否有哪邊有錯誤?
以下是我的程式碼:
-----------------------------------------------
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int i=0,j=0,n=0,max=0,count=0;
while(cin >> i >> j)
{
cout<<i<<" "<<j<<" ";
if(i>j) //排序i和j
{
int temp=i;
i=j;
j=temp;
}
if(i<0||j>=1000000) //判斷是否大小在0~1000000內
continue;
for(int x=i;x<=j;++x) //開始處理
{
n=x;
count=0;
for(;;)
{
count++;
if(n==1)
break;
if(n%2==0)
n/=2;
else
n=n*3+1;
}
if(count>max)
max=count;
}
cout<<max<<"\n"; //輸出結果
}
system("PAUSE");
return EXIT_SUCCESS;
}
--------------------------------------------------------
雖然是老梗題目
不過實在是沒有頭緒錯在哪邊
感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.118.44.38
→
07/02 18:32, , 1F
07/02 18:32, 1F
連帶內文更正了 但是上傳繳交後還是WA
→
07/02 20:03, , 2F
07/02 20:03, 2F
→
07/02 21:01, , 3F
07/02 21:01, 3F
終於AC了
感謝1F和3F的幫忙!! 沒想到會錯在這些小細節
再次感謝!
※ 編輯: ninEEE 來自: 122.118.44.38 (07/02 21:30)