//穷举法! /* ====================================================== 题目:求佩尔方程x*x-73*y*y=1的解。 ====================================================== */ #include<stdio.h> #include<math.h> int main(void) { int x,y;double t;for(y=1;y<=10000000;y++){ t=1.0+73.0*y*y;x=(int)sqrt(t);if((x<10000000)&&(1.0*x*x==t))printf("x=%8d y=%8d \n",x,y);}return 0; } /* ====================================================== 评:
实际上是穷举法!关键在于选取一个中间量,让x和y都去靠近这个值,也
就把二元方程转化为一元方程了!题中t就起到了这种作用,能够避免溢
出,造成错解!
====================================================== */