描述
你的任务是:
计算方程x^2+y^2+z^2=
num的一个正整数解。
输入
输入数据包含多个测试实例,每个实例占一行,仅仅包含一个小于等于10000的正整数num。
输出
对于每组测试数据,请按照x,y,z递增的顺序输出它的一个最小正整数解,每个实例的输出占一行,题目保证所有测试数据都有解。
样例输入
3
样例输出
1 1 1
1 #include<stdio.h> 2 #include<math.h> 3 #include<string.h> 4 #include<ctype.h> 5 7 void deal(int n) 8 { 9 int i,j,k; 10 for(i=1; i*i<=n/3; i++) 11 for(j=i; j*j<n; j++) 12 for(k=j; k*k<n; k++) 13 if(i*i+j*j+k*k==n) 14 {printf("%d %d %d\n",i,j,k); return;} 15 } 16 18 void solve() 19 { 20 int n; 21 while(scanf("%d",&n)!=EOF){ 22 deal(n); 23 } 24 } 25 26 int main() 27 { 28 solve(); 29 return 0; 30 }