【Number Theory】Pythagorean Triples Generating Program

来源:互联网 发布:开网络棋牌 编辑:程序博客网 时间:2024/06/05 19:42
# this program is for generating the Pythagorean Triples(a, b, c).# using the Pythagorean Triples Theorem:# a = s*t, b = (s**2 - t**2)/2, c = (s**2 + t**2)/2.# s and t are odd, and they are relatively prime.  sortByA = open("PythagoreanTriplesSortByA.txt", "w")sortByB = open("PythagoreanTriplesSortByB.txt", "w")sortByC = open("PythagoreanTriplesSortByC.txt", "w")T = int(input("input the max t(odd) for iterator:"))S = int(input("input the max s(odd and normally bigger than T) for iterator:"))pythagoreanTriplesList = []for t in range(1, T + 1, 2):    for s in range(t + 2, S + 1, 2):        triple = (s * t, int((s**2 - t**2)/2), int((s**2 + t**2)/2))        pythagoreanTriplesList.append(triple)# sorted by apythagoreanTriplesList.sort(key = lambda triple : triple[0])for i in range(0, len(pythagoreanTriplesList)):    triple = pythagoreanTriplesList[i]    sortByA.write("({0}, {1}, {2})\n".format(triple[0], triple[1], triple[2]))    # sorted by bpythagoreanTriplesList.sort(key = lambda triple : triple[1])for i in range(0, len(pythagoreanTriplesList)):    triple = pythagoreanTriplesList[i]    sortByB.write("({0}, {1}, {2})\n".format(triple[0], triple[1], triple[2]))    # sorted by cpythagoreanTriplesList.sort(key = lambda triple : triple[2])for i in range(0, len(pythagoreanTriplesList)):    triple = pythagoreanTriplesList[i]    sortByC.write("({0}, {1}, {2})\n".format(triple[0], triple[1], triple[2]))


1 0