看板 C_and_CPP 關於我們 聯絡資訊
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
ledia:我用 g++ 跑得出 153 耶 10/24 00:04
cismjmgoshr:log10和pow兩個函數回傳值都是浮點數,可能會有誤差? 10/24 00:09
softwind:踩到雷了 有不預期的行為 10/24 00:31
tw00088437:意抱歉 小弟初學 聽不是很懂 可以講淺顯一點嗎@@" 10/24 07:50
tw00088437:我主要室想知道153這數字沒什麼特別的為什麼會掛@@" 10/24 08:08
tw00088437:還有為什麼傳上去竟然通過 = = + 10/24 08:08
ledia:你用什麼 compiler ? 可能有樓上幾樓說的浮點數誤差,但 10/24 08:47
ledia:Judge 也許跟我一樣用 g++, 所以剛好沒爆 10/24 08:48
tw00088437:DEV C++ 10/24 20:03
VictorTom:DevC++記得也是包gcc/g++來build, 只是版本多舊就...Orz 10/24 20:28