只是对我在做什么的理解:我们为“x”设置一个 maxbound,然后列出所有原始的毕达哥拉斯三元组。我的 gcd 行和 if 语句行也出现错误。任何指导都会彻底帮助,谢谢大家。
#include <stdio.h>
int main (){
int x,y,z;
int a,b,c;
int max;
//Get user input
printf("What is the maximum bound on x?\n");
scanf("%d", &max);
y = 1;
while (y < x) {
while (x <= max) {
if ((x%2 == 1 || y%2 == 1) && gcd(x, y) == 1) {
return x;
}
else {
a = (x*x)-(y*y);
b = 2*x*y;
c = (x*x)+(y*y);
}
printf("(%d, %d, %d)\n", a, b, c);
x++;
y++;
}
}
return 0;
}