1234567891011121314151617181920212223242526 |
- #include<bits/stdc++.h>
- using namespace std;
- int gcd(int x, int y){
- return y == 0 ? x : gcd(y, x % y);
- }
- int main(){
- std::set<pair<int, int> >S ;
- for(int i = 1; i <= 1000; i++){
- if(S.size() >= 100)break;
- for(int j = i+1; j <= 1000; j++){
- if(S.size() >= 100)break;
- if(gcd(i, j) != 1)continue;
- int k2 = i * i + j * j;
- int k = sqrt(k2);
- if(k * k == k2 && k <= 1000){
- if(gcd(i, k) != 1 || gcd(j, k) != 1)continue;
- S.insert({i, j});
- }
- }
- }
- for(auto s : S){
- int three = sqrt(s.first*s.first + s.second * s.second);
- cout << s.first << ' ' <<s.second <<' ' << three <<endl;
- }
- return 0;
- }
|