#include #include int main() { int max_val = 0; int max_num = 0; int i; for (i = 1; i < 1000; i++) { int j = triangles(i); if (j > max_val) { max_val = j; max_num = i; } } printf("%u is best with %u solutions",max_num,max_val); return 0; } int triangles(int x) { int count = 0; int i,j,k; for (i = 1; i < x; i++) { for (j = 1; j < (x - i); j++) { k = x - (i + j); if (((i * i + j * j) * 1.00) == (1.00 * k * k)) { //right triangle count++; //printf("m: %u %u -> %u\n",i,j,k); } } } return ceil(count / 2.00); }