/* triples.c */ /* written by Geoffrey Coram, copyright (FWIW) 1998 */ /* finds all Pythagorean triples (a,b,c) such that */ /* a^2+b^2 = c^2, where a and b are each less than MAX */ #include #include #define MAX 400 int prime(int a, int b); int main(void) { int a,b,c; double d; for (a=1;a<=MAX; a++){ for (b=a;b<=MAX; b++){ d=sqrt((double)(a*a+b*b)); if (d==rint(d)) { if (prime(a,b)) printf("%d, %d, %d\n",a,b,(int)rint(d)); } } } return 0; } int prime(int a, int b) { int i; double ai, bi; for (i=2;i<=a;i++){ ai=(double)a/i; bi=(double)b/i; if ((ai==rint(ai)) && (bi==rint(bi))){ return 0; } } return(1); }