1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /* 描述 輸入一個正整數n,輸出所有的 (a,b,c) 滿足 1. a,b,c為三個正整數 2. a小於b小於c小於n 3. a^2 b^2=c^2 4. a,b,c 三數的最大公因數為 1。 注意 為了批改方便,你必須盡可能跟標準答案的輸出入一致,有些題目的要求可能寬鬆一點,但相同必定得分。 */ #include <cstdlib> #include <iostream> using namespace std; int gcd(int a,int b) { int c; while(b!=0) { c=a%b; a=b; b=c; } return a; } int main() { int n,x,y,z,w; cin>>n; cout<<"N=\n"; for(x=1;x<n;x++) for(y=x+1;y<n;y++) for(z=y+1;z<n;z++) if(x*x+y*y==z*z) { gcd(x,y); w=gcd(gcd(x,y),z); if(w==1) cout<<"("<<x<<","<<y<<","<<z<<")"<<endl; } return 0; } |
Direct link: https://paste.plurk.com/show/2530731