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; }