[此贴子已经被作者于2007-10-29 22:50:12编辑过]
#include<stdio.h>#include<math.h>void main(){ void method(int k); scanf("%d",&k) ; void method(k); }void method(int k){ int k; for(int x=0;x<sqrt(k);x++) for(int y=0;y<sqrt(k);y++){ if((x*x+y*y)=1989) printf("A root of equation is%d,%d\n",x,y);}
或许,先计算1989的根更好。void method(int k){ int root = sqrt(1989) + 1; for ( int x = 0; x < root; x++ ) for ( int y = 0; y < root; y++ ) if ( (x*x + y*y) == 1989 ) cout << "x = " << x << " y = " << y << endl; }