Created
January 8, 2016 16:36
-
-
Save giwa/08ccd765898fa452b2f0 to your computer and use it in GitHub Desktop.
pascal triangle ref: http://qiita.com/giwa/items/ac3c593134926f454d35
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def vs_pascal(p): | |
max_len = len(l_to_str(p[-1])) | |
for e in p: | |
print(l_to_str(e).center(max_len)) | |
def l_to_str(l, d=" "): | |
return d.join(map(lambda x: str(int(x)), l)) | |
def comb(n, r): | |
if n == 0 or r == 0: return 1 | |
return comb(n, r - 1) * (n - r + 1) / r | |
def pascal(x): | |
p = [] | |
for n in range(x + 1): | |
t = [] | |
for r in range(n + 1): | |
t.append(comb(n, r)) | |
p.append(t) | |
return p | |
vs_pascal(pascal(15)) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 | |
1 1 | |
1 2 1 | |
1 3 3 1 | |
1 4 6 4 1 | |
1 5 10 10 5 1 | |
1 6 15 20 15 6 1 | |
1 7 21 35 35 21 7 1 | |
1 8 28 56 70 56 28 8 1 | |
1 9 36 84 126 126 84 36 9 1 | |
1 10 45 120 210 252 210 120 45 10 1 | |
1 11 55 165 330 462 462 330 165 55 11 1 | |
1 12 66 220 495 792 924 792 495 220 66 12 1 | |
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1 | |
1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1 | |
1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment