(21天的学习感觉还是很有用的,毕竟写了题或者学习到了新东西就可以及时记录下来,之后翻阅的时候就可以回想起来之前有哪些错误,还是收获很多!)
一个直角三角形具有边长均为整数的三条边。直角三角形边长的这组整数值称为毕达哥拉斯三元组(中国称为勾股数)。这三条边必须满足这样的关系:两条直角边的平方之和必须等于直角三角形斜边的平方。从键盘输入一个正整数n,请找出不大于n的所有毕达哥拉斯三元组。可以使用一个三重嵌套的for循环语句,它可以非常简单地尝试所有的可能性。这是一个穷举法的典型例子。
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c,n;
scanf("%d", &n);
for (a = 1; a <= n; a++)
{
for (b = 1; b <= n; b++)
{
for (c = 1; c <= n; c++)
{
{
if (c * c == a * a + b * b && a + b > c)
printf("(%d, %d, %d)\n", a, b, c);
}
}
}
}
return 0;
}
PS:这里要用上三个for语句,很容易弄混,我就搞混了好久。