Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import itertools as it
- import numpy as np
- import numpy.linalg as la
- import queue
- from squares import complete_gen1
- class form:
- def __init__(self):
- self.cache = dict()
- self.n = 0
- def __getitem__(self, x):
- return x*(3*x-1)//2
- def __contains__(self, x):
- while x >= self[self.n]:
- self.cache[self[self.n]] = self.n
- self.n += 1
- return x in self.cache
- def inv(self, x):
- return self.cache[x]
- f = form()
- def order():
- for a in it.count(2):
- for b in range(a, (f[a]-1)//3+1):
- yield a, b
- def form_list():
- for a, b in order():
- n = f[a] + f[b]
- if n in f:
- c = f.inv(n)
- yield a, b, c
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement