看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) ACM Q382 WA 希望得到的正確結果: 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) code block G++ 有問題的code: (請善用置底文標色功能) #include <iostream> #include "math.h" #include <iomanip> using namespace std; int sqrts(int test); void compare(int val, int com); int main() { int input; int result; int counter = 0; cin>>input; while(input != 0) { if(counter == 0) { cout<<"PERFECTION OUTPUT"<<endl; } counter++; result = sqrts(input); compare(input,result); cin>>input; } cout<<"END OF OUTPUT"; return 0; } int sqrts(int test) { int temp = 1; double sq; sq = (int) sqrt(test); for(int i = 2 ; i <= sq ; i++) { if(test%i == 0) { if(test/i != i) { temp = temp + i + test/i; } else { temp = temp + i; } } } return temp; } void compare(int val, int com) { if(val > com) { cout<<setw(5)<<val<<" DEFICIENT"<<endl; }else if(val == com) { cout<<setw(5)<<val<<" PERFECT"<<endl; }else { cout<<setw(5)<<val<<" ABUNDANT"<<endl; } } 補充說明: 久久沒寫就吃了一個WA 麻煩大家幫我看一下 幫我找一下我的盲點 這題是只會有一行輸入嗎?? 感覺這邊可能是造成WA的問題所在 謝謝大家 -- 我不是宅 我只是比較居家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 108.6.69.163 ※ 編輯: rock1985 來自: 108.6.69.163 (11/06 09:41)
x000032001:拿掉cout << "Input a integer" << endl; 11/06 11:23
※ 編輯: rock1985 來自: 108.6.69.163 (11/06 11:38)
rock1985:我簡直蠢翻了 = =a 不過還是WA 11/06 11:39
stupid0319:cin>>input; while(input==0) {....cin>>input;} 11/06 11:58
謝謝兩位 我有在修改了一下 不過目前依然是WA 繼續麻煩大家了 謝謝 ※ 編輯: rock1985 來自: 108.6.69.163 (11/06 12:15)