パスカルの三角形
この三角形の作り方は単純なルールに基づいています。最上段に 1 を配置します。それより下の段は両端には 1 を、それ以外の位置には右上の数と左上の数の和を配置します。例えば、5段目の左から2番目には、左上の 1 と右上の 3 の合計である 4 が入ります。。このようにして数を並べると、上から n 段目、左から k 番目の数は二項係数に等しくなります。
BigIntでのソースコードは次のようになります。MAXが段数になるので1000段くらいにして楽しんでください。
//
// ViewController.swift
// PascalTriangle
//
import UIKit
import BigInt
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let MAX = 10
var pas: [[BigInt]] = []
for i in 0..<MAX {
print("\(i)", terminator: " ")
pas.append(Array(repeating: 0, count: i + 1)) // その行に必要な長さだけ確保
pas[i][0] = 1//両端は1
if i >= 2 {
for j in 1..<i {
pas[i][j] = pas[i - 1][j - 1] + pas[i - 1][j]
}
}
pas[i][i] = 1//両端は1
print("i = \(i): \(pas[i])")
}
// 最下段(MAX)のみ表示
for j in 0..<MAX {
print("\(pas[MAX-1][j])")
}
}
}
