2877 直角三角形 双重循环 枚举

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e3+10;
int c;
bool check(int a,int b)
{
    if(a + b <= c) return 0; //不构成三角形
    if(a * a + b * b == c * c) return 1; //勾股定理
    return 0; 
}
int main()
{
    cin >> c;
    for(int a = 1; a < c; a++) //枚举两条边的长度,因为斜边最长,所以a,b都小于c 
        for(int b = 1; b < c; b++)
            if(check(a,b))
            {
                cout << a << " " << b << endl;
                return 0;
            } 
    return 0;
}

 

posted @ 2024-10-17 16:31  CRt0729  阅读(27)  评论(0编辑  收藏  举报