エジプトの分数 Egyptian fractions

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

異性体の問題 counting isomers
実行:Command Line

import Foundation

/// 入力
/// - parameter メッセージ
/// - returns 入力文字列
func input(msg:String = "") -> String {
    print(msg, separator: "", terminator: "")
    let indata = FileHandle.standardInput;
    let rawdata = indata.availableData;
    let str = NSString(data: rawdata, encoding: String.Encoding.utf8.rawValue);
    let length = str?.length
    let result = str?.substring(with: NSRange(location: 0,length: length! - 1))
    return result!
}

var m = Int(input(msg: " 分子 m = "))!
var n = Int(input(msg: " 分母 n = "))!
print("\(m)/\(n) = ")
var q:Int
while n % m != 0 {
    q = n / m + 1
    print("1/\(q) + ")
    m = m * q - n
    n *= q
}
print("1/\(n / m)")


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

コメントを残す

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