方程整数解
方程: a^2 + b^2 + c^2 = 1000 (或参见【图1.jpg】) 这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。 你能算出另一组合适的解吗?
请填写该解中最小的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
图1.jpg
a,b,c是三个整数 整数(integer)就是像-3,-2,-1,0,1,2,3,10等这样的数。 整数的全体构成整数集,整数集是一个数环。在整数系中,零和正整数统称为自然数。-1、-2、-3、…、-n、…(n为非零自然数)为负整数。则正整数、零与负整数构成整数系。整数不包括小数、分数。
31*31=961 32*32=1024 所以a, b, c的取值范围为{-31<=a<=31,-31<=b<=31,-31<=c<=31|a, b, c∈Z}
a, b, c 全排列,输出符合条件的abc的值
#include<stdio.h> int main () { int a, b, c; for(a=-31; a<32; a++) for(b=-31; b<32; b++) for(c=-31; c<32; c++) if(a*a+b*b+c*c==1000) printf("a=%d, b=%d, c=%d\n", a, b, c); return 0; }
123456789101112 | #include<stdio.h>int main (){ int a, b, c; for(a=-31; a<32; a++) for(b=-31; b<32; b++) for(c=-31; c<32; c++) if(a*a+b*b+c*c==1000) printf("a=%d, b=%d, c=%d\n", a, b, c); return 0; } |
---|
网上大部分的答案都是10, 应该是只考虑了正整数的情况, 也许出题人也只考虑了正整数的情况
但是题目明确说明abc是整数,所以我认为答案是-30