1. 程式人生 > >C語言之基本演算法19—列舉勾股數

C語言之基本演算法19—列舉勾股數

/*
==================================================================
題目:求100內的勾股數!
==================================================================
*/
#include<stdio.h>
main()
{
int x,y,z,k=0;
for(x=1;x<=100;x++)
for(y=1;y<=100;y++)
for(z=1;z<=100;z++)
if(x*x+y*y==z*z&&x<=y)//如果不加x<=y,則認為3、4、5,和4,3,5是兩種情況,而事實上,x和y是等價的!
{
k++;
printf("%3d:   %2d*%-3d+%3d*%-3d=%3d*%3d\n___________________________________\n",k,x,x,y,y,z,z);
}
printf("\n");
}
/*
==================================================================
評:非常簡單的判斷並列舉。但在工程中用的十分廣泛。
==================================================================
*/