再问:如何编程实现:求正整数a,b,c,使得a^3+b^3=22c^3
类似如下的答案,从理论上应该正确,可是不能跑出哪怕一个正确的答案,很显然,下面这个程序中,a=1,b=1,进入内层循环中后,将从1一直跑到INT_MAX,而这显然是没有必要的呵呵,如何改进呢?有没有知道~挑战一下!弄个答案来瞅瞅:
#include <limits.h>
#include <stdio.h>
#include <math.h>
int a,b,c;
void main() {
for (a=1;a<INT_MAX;a++) {
for (b=1;b<INT_MAX;b++) {
for (c=1;c<INT_MAX;c++) {
if (fabs((double)a*a*a+(double)b*b*b-(double)22.0*c*c*c)<0.0001) {
printf("a=%d,b=%d,c=%d\n",a,b,c);
return;
}
}
}
}
}