打卡 c语言趣味编程 求勾股数

问题描述:

  求100以内的所有勾股数。
  所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,c)。

思路:

  可以通过for循环遍历范围内每个可能的值,在每次循环中,调用函数检查当前的三个数是否满足勾股定理。如果满足,将其打印出来。

流程图:

for循环

代码实现:

 1 #include <iostream>
 2 #include <cmath>
 3 
 4 using namespace std;
 5 
 6 bool judge(int a, int b, int c) {
 7     return (pow(a, 2) + pow(b, 2) == pow(c, 2));
 8 }
 9 int main() {
10     for (int a = 1; a <= 100; ++a) {
11         for (int b = a; b <= 100; ++b) {
12             for (int c = b; c <= 100; ++c) {
13                 if (judge(a, b, c)) {
14                     cout << "(" << a << ", " << b << ", " << c << ")" << endl;
15                 }
16             }
17         }
18     }
19     return 0;
20 }

 

posted @ 2023-05-23 23:44  起名字真难_qmz  阅读(291)  评论(0)    收藏  举报