#!/usr/bin/python # -*- coding: utf-8 -*- """Generate primitive Pythagorean triples. """ from __future__ import print_function import sys def main(n): for a, b, c in triples(n): print(a, b, c) def triples(n): squares = dict((i**2, i) for i in range(n*2)) for a in range(1, n): for b in range(1, a): csq = a**2 + b**2 if csq in squares and gcd(a, b) == 1: yield a, b, squares[csq] def gcd(x, y): while y: x, y = y, x % y return x if __name__ == '__main__': _, n = sys.argv main(int(n))