[ACM ] 100 3n+1 problem
今天開始寫ACM的題目了..昨天才剛注冊完= =
第一個就寫編號100的3n+1 problem
我輸入跟輸出格式都跟他給的sample input/output是一樣的,答案也都一樣
可是每次submit之後,回去看我的紀錄他都會說我的答案錯誤 冏...
以下是我的code..
#include<iostream>
using namespace std;
int main()
{
int n[4],m[4],c=1,max=0,k,x,z,i,a[4],b[4]; //利用max抓出最大值,c用來
//紀錄cycle length
for(i=0;i<=3;i++) //輸入四組數字
{
cin>>n[i];
cin>>m[i];
a[i]=n[i]; //利用a[i]跟b[i]紀錄一開始的輸入
b[i]=m[i];
if(n[i]>m[i]) //如果第一個數字比較大,則交換
{
z=n[i];
n[i]=m[i];
m[i]=z;
}
}
for(i=0;i<=3;i++)
{
for(x=n[i];x<=m[i];x++)
{
k=x; //把x的值指定給k,不隨便更動迴圈內容
while(k!=1) //當k等於1時就跳出去
{
if(k%2==0)
{
k=k/2;
c++;
}
else
{
k=k*3+1;
c++;
}
}
if(c>max)
{
max=c;
}
c=1; //重新算下一個數字的cycle length,c歸1,因為要先包含自己本身
}
cout<<a[i]<<' '<<b[i]<<' '<<max<<'\n'; //一個範圍算完之後,印出結果
max=0; //抓到最大值之後,max歸0重新計算下一個範圍
}
return 0;
}
Sample Input
1 10
100 200
201 210
900 1000
Sample Output
1 10 20
100 200 125
201 210 89
900 1000 174
他的格式以及答案跟我執行出來的結果是一樣的...可是不知道為什麼Judge會說我錯..
有好心的大大可以幫小弟解答嗎@@
--
◆══════════════════════════════════天══◆
║你曾經看過流星雨嗎? /▃▃ kyc / 險 ║
║那是非常美麗的景象,虛幻的光芒,如人一生。 。 ▂ / 。 刀 ║
║神醉夢迷,我很喜歡這個名字... 。~\▂▂ 。 / 藏 ║
║下一刻,我將連自己也遺忘;但這一刻,是屬於我的!/◢藏﹥01010。 / φby ║
◆═══════════════════════。 / ||\════。═kyc01010
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.236.174
→
03/05 22:27, , 1F
03/05 22:27, 1F
→
03/05 22:28, , 2F
03/05 22:28, 2F
→
03/05 22:36, , 3F
03/05 22:36, 3F
→
03/05 22:37, , 4F
03/05 22:37, 4F
推
03/05 22:50, , 5F
03/05 22:50, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章