階乗進法 factorial representation

改訂新版 C言語による標準アルゴリズム事典をSwiftでコーディング。

階乗進法 factorial representation
実行:Playground

let N = 3

func factorial() {
    var c = [Int](repeating: 0, count: N + 2)
    var i = 0
    var k:Int
    repeat {
        print("\(i)", separator: "", terminator: "")
        i = i + 1
        k = N
        while k >= 1 {
            print(" \(c[k])", separator: "", terminator: "")
            k = k - 1
        }
        print()
        k = 1
        while c[k] == k {
            c[k] = 0
            k = k + 1
        }
        c[k] = c[k] + 1
    } while k <= N
}

factorial()


[改訂新版]C言語による標準アルゴリズム事典 (Software Technology)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です