Skip to content

Instantly share code, notes, and snippets.

@MostAwesomeDude
Created March 13, 2017 08:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MostAwesomeDude/19841b2d368ce8dcf3bb602aa91efa65 to your computer and use it in GitHub Desktop.
Save MostAwesomeDude/19841b2d368ce8dcf3bb602aa91efa65 to your computer and use it in GitHub Desktop.
import subprocess
def pascalMod2(row):
rv = [1]
for i, x in enumerate(row, start=1):
if i == len(row):
break
rv.append((x + row[i]) % 2)
rv.append(1)
assert len(rv) == len(row) + 1
return rv
def rowToBin(row):
rv = 0
for x in row:
rv <<= 1
if x:
rv |= 1
return rv
def factor(x):
# XXX hax
return subprocess.check_output(["factor", str(x)]).strip()
row = [1]
for i in range(40):
print row
b = rowToBin(row)
print b, '=', factor(b)
row = pascalMod2(row)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment