题目
方程: a^2 + b^2 + c^2 = 1000
这个方程有正整数解吗?有:a,b,c=6,8,30 就是一组解。
求出 a^2 + b^2 + c^2 = n(1<=n<=10000)的所有解,解要保证c>=b>=a>=1。
解答
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j,k,m=0;
while(scanf("%d",&n)!=EOF){
m=0;
for(i=1;i<=sqrt(n);i++){
for(j=i;j<=sqrt(n);j++){
for(k=j;k<=sqrt(n);k++){
if((i*i+j*j+k*k)==n){
m=1;
printf("%d %d %d\n",i,j,k);
}
}
}
}
if(m==0)
printf("No Solution\n");
}
return 0;
}
注意
一定要用c++提交,c会报错