C语言生成100以内的勾股数高效算法,急……

勾股数生成:满足关系x^2 + y^2 = z^2 的一组三个正整数(x, y, z), 称为是一组勾股数。请编写程序。输出所有小于100的勾股数组。本题要求给出效率较高的程序,即如果用三重循环枚举所有小于100的正整数三元组算一种解法,那么至少还要给出另外一种效率更高的解法。进一步考查是否存在一组三个正整数(x, y, z), 满足 x^3 + y^3 = z^3,x^4 + y^4 = z^4 等。

不能三重循环啊。。

一楼说下算法思想好吗?谢谢

第1个回答  2011-05-10
#include <stdio.h>
void Pyth()
{
int prime[5]={3,5,7,11,13};
int b[3]={0};
int i,j;
for(i=0;i<5;i++)
{
int x=prime[i];
b[0]=x;
b[1]=(x*x-1)/2;
b[2]=(x*x+1)/2;
for(j=1;j<=100/b[2];j++)
{
printf("%d,%d,%d\n",b[0]*j,b[1]*j,b[2]*j);
}
}
}

int main()
{
Pyth();
return 0;
}追问

能说一下算法思想吗?
谢谢!!!