一、題目
方程: a^2 + b^2 + c^2 = 1000
(或參見【圖1.jpg】)
這個方程有整數解嗎?有:a,b,c=6,8,30 就是一組解。
你能算出另一組合適的解嗎?請填寫該解中最小的數字。
注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。
二、思路
直接枚舉。
由於a^2+b^2+c^2=1000,那麼,a,b,c肯定小於1000的方根
三、題解
#include <iostream> #include <algorithm> #include <cmath> using namespace std; int main() { for (int a=1;a<sqrt(1000);a++) { for (int b=1;b<sqrt(1000);b++) { for (int c=1;c<sqrt(1000);c++) { if(a*a+b*b+c*c==1000) { cout << a << " " << b << " " << c << " " << endl; } } } } return 0; }
四、結果
6 8 30
6 30 8
8 6 30
8 30 6
10 18 24
10 24 18
18 10 24
18 24 10
24 10 18
24 18 10
30 6 8
30 8 6Process finished with exit code 0
已經知道6 8 30已經組成一組解,所以另一組解是24 10 18 ,所以另一組解最小的數字是10,即是解