程式碼
#include <iostream> #include <math.h> using namespace std; int main() { long long B,R,sq,W,H,t,D,k; while(cin>>B>>R) { sq=(long long)sqrt((double)R); for(int i=1;i<=sq;++i) { if(R%i==0) { W=i; H=R/i; D=(W+H)*(W+H)+4*B; t=(long long)sqrt(D); if(t*t==D) { k=(-(W+H)+t)/2; cout<<H+k<<" "<<W+k<<endl; break; } } } } return 0; }
輸入
3248 8740
輸出
您的答案為: 444 27
正確答案為: 111 108
444 27 應該才是正確答案吧 內矩形 437*20 邊框7
這邊以上圖的標示做說明。
以你的說明「內矩形:437×20, 邊框:7」
這樣整體矩形的寬與高應該分別為:
整體寬 = 437+7×2 = 451
整體高 = 20 + 7×2 = 34
正確的長寬應為 451×34
另外同樣以「內矩形:437×20, 邊框:7」來說,
內矩形面積 = 437×20 = 8740 (正確)
外框面積 = (437+20)×7+7×7×4 = 3395 (錯誤)
故「內矩形:437×20, 邊框:7」並不符合題目要求。
該測資的解答應為「整體矩形:111×108, 內矩形:95×92, 邊框:8」。
這邊以上圖的標示做說明。
以你的說明「內矩形:437×20, 邊框:7」
這樣整體矩形的寬與高應該分別為:
整體寬 = 437+7×2 = 451
整體高 = 20 + 7×2 = 34
正確的長寬應為 451×34
另外同樣以「內矩形:437×20, 邊框:7」來說,
內矩形面積 = 437×20 = 8740 (正確)
外框面積 = (437+20)×7+7×7×4 = 3395 (錯誤)
故「內矩形:437×20, 邊框:7」並不符合題目要求。
該測資的解答應為「整體矩形:111×108, 內矩形:95×92, 邊框:8」。
感謝指導 果然還是要有圖比較清楚