Hex Artifact Content
Not logged in

Artifact 6328445c69b877f60b36ec147e9844aa6716e4ca:


0000: 2f 2f 20 45 6e 75 6d 65 72 61 74 65 20 63 6f 70  // Enumerate cop
0010: 72 69 6d 65 20 70 79 74 68 61 67 6f 72 61 73 20  rime pythagoras 
0020: 74 72 69 61 6e 67 6c 65 73 0a 0a 66 6f 72 28 69  triangles..for(i
0030: 6e 74 20 6d 3d 31 3b 3b 20 2b 2b 6d 29 0a 66 6f  nt m=1;; ++m).fo
0040: 72 28 69 6e 74 20 6e 3d 31 3b 20 6e 3c 6d 3b 20  r(int n=1; n<m; 
0050: 2b 2b 6e 29 20 69 66 28 28 28 6d 5e 6e 29 26 31  ++n) if(((m^n)&1
0060: 29 20 26 26 20 67 63 64 28 6d 2c 6e 29 3d 3d 31  ) && gcd(m,n)==1
0070: 29 0a 7b 0a 09 69 6e 74 20 61 20 3d 20 6d 2a 6d  ).{..int a = m*m
0080: 2d 6e 2a 6e 2c 20 62 20 3d 20 32 2a 6d 2a 6e 2c  -n*n, b = 2*m*n,
0090: 20 63 20 3d 20 6d 2a 6d 2b 6e 2a 6e 3b 0a 09 69   c = m*m+n*n;..i
00a0: 66 28 61 3e 62 29 20 73 77 61 70 28 61 2c 62 29  f(a>b) swap(a,b)
00b0: 3b 0a 7d 0a                                      ;.}.