import os import sys def tri_generator(start=0): idx = start while True: yield 0.5*idx*float(idx+1) idx += 1 def pent_generator(start=0): idx = start while True: yield 0.5*idx*float(3*idx-1) idx += 1 def hex_generator(start=0): idx = start while True: yield idx*float(2*idx-1) idx += 1 def main(): #from time import sleep tri_idx = 245 + 1 pent_idx = 165 + 1 hex_idx = 143 + 1 #tri_idx = pent_idx = hex_idx = 2 tri_gen = tri_generator(tri_idx) pent_gen = pent_generator(pent_idx) hex_gen = hex_generator(hex_idx) t = tri_gen.next() p = pent_gen.next() h = hex_gen.next() while t != p or t != h: #print t,p,h #sleep(0.5) if t < p or t < h: t = tri_gen.next() if p < t: p = pent_gen.next() if h < t: h = hex_gen.next() print t if __name__ == "__main__": sys.exit(main())