見出し画像

[ 数学 ] パスカルの三角形のうち奇数だけ塗りつぶすと現れる美しいパターン

[サイトマップを見る ]


パスカルの三角形

パスカルの三角形は次のように作ります。一番上の段に1を描きます。次の段には 1 と 1 を書きます。それ以降、上の段の左と右の数を足し合わせて結果を書いて行きます。すると次のような数のピラミッドを描くことができます。

図1. パスカルの三角形

数字をある規則で塗りつぶす

こうやってできたパスカルの三角形。奇数は塗りつぶし,偶数は消してしまいましょう。すると下のようなパターンが現れます。

図2. パスカルの三角形を偶数奇数で塗り分けてみる

なんと美しいパターンでしょうか。

Python で描いてみる

Python で上のパターンを書くためのコードです。

import numpy as np

def pascal_triangle(rows):
    triangle = np.zeros((rows, rows), dtype=int)
    triangle[0][0] = 1
    for i in range(1, rows):
        for j in range(i+1):
            triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]
    return triangle

def print_triangle(triangle):
    i = 1
    for row in triangle:
        print(' '*(rows-i), end="")
        for num in row:
            if num != 0:
                if num % 2:
                    print("*", end="")
                else:
                    print(' ', end="")
            print(" ", end="")
            
        print("")
        i = i+1

# 10段のパスカルの三角形を作成
rows = 30
pascal = pascal_triangle(rows)

# 三角形を表示
print_triangle(pascal)

関連する記事

パスカルの三角形について紹介しました。

パスカルの三角形を Python で描いてみるという記事です。

[ サイトマップを見る ]


https://amzn.to/4g7B2tI



いいなと思ったら応援しよう!