7,特殊毕达哥拉斯三元组
毕达哥拉斯三元组是三个自然数a < b < c组成的集合,并满足a2 + b2 = c2 ,如32 + 42 = 9 + 16 = 25 = 52,有且只有一个毕达哥拉斯三元组满足 a + b + c = 1000,求这个三元组的乘积
1 void test7(int num){ //num=1000 2 int i,j,k; 3 int c; 4 for(i=1; i<num/3; i++){ // i为最小直角边 5 for(j=i+1; j<num-i; j++){ 6 // for(k=j+1; k<num; k++){ //暴力破解法 7 k = num-i-j; //能减少循环次数 8 if(k>j && i*i + j*j == k*k) 9 // if(i+j+k==num) 10 printf("%d\t%d\t%d=>%d\n",i,j,k,i*j*k); 11 } 12 } 13 }