[問題] 奇怪 寫的程式上網測試通過 但好像是錯的@@

看板C_and_CPP作者 (喵貓 loves fish)時間14年前 (2009/10/23 23:56), 編輯推噓5(505)
留言10則, 5人參與, 最新討論串1/1
http://zerojudge.tw/ShowProblem?problemid=a040 題目 問題:我覺得我寫的程式沒錯 但是153=1^3+5^3+3^3=1+125+27 所以照道理應該也是個阿姆斯壯數 但是我的程式跑不出來 這數字好像也不是什麼特例 不知為何 而且送出我的答案竟然通過了 不知道是什麼原因@@? 還是我白癡計算錯誤XD 程式碼如下 #include<iostream> #include<math.h> using namespace std; int a,b,c,d,e,f=0,g,m,n; int cat[7]={0}; int main() { while(cin>>n>>m) { for(a=n;a<=m;a++) { e=a; d=0; b=log10(a);// b-->有b+1位數 for(c=0;c<=b;c++) { cat[c]=e%10; e=e/10; d=d+pow(cat[c],b+1); } if(d==a) { cout<<a<<" "; f++; } } if(f) { f=0; cout<<endl; } else cout<<"none"<<endl; } return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.107.30

10/24 00:04, , 1F
我用 g++ 跑得出 153 耶
10/24 00:04, 1F

10/24 00:09, , 2F
log10和pow兩個函數回傳值都是浮點數,可能會有誤差?
10/24 00:09, 2F

10/24 00:31, , 3F
踩到雷了 有不預期的行為
10/24 00:31, 3F

10/24 07:50, , 4F
意抱歉 小弟初學 聽不是很懂 可以講淺顯一點嗎@@"
10/24 07:50, 4F

10/24 08:08, , 5F
我主要室想知道153這數字沒什麼特別的為什麼會掛@@"
10/24 08:08, 5F

10/24 08:08, , 6F
還有為什麼傳上去竟然通過 = = +
10/24 08:08, 6F

10/24 08:47, , 7F
你用什麼 compiler ? 可能有樓上幾樓說的浮點數誤差,但
10/24 08:47, 7F

10/24 08:48, , 8F
Judge 也許跟我一樣用 g++, 所以剛好沒爆
10/24 08:48, 8F

10/24 20:03, , 9F
DEV C++
10/24 20:03, 9F

10/24 20:28, , 10F
DevC++記得也是包gcc/g++來build, 只是版本多舊就...Orz
10/24 20:28, 10F
文章代碼(AID): #1AuT98mI (C_and_CPP)