エジプトの分数 Egyptian fractions

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

アルゴリズム

エジプトの分数 Egyptian fractions

実行

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)")

Algorithm, Swift

Posted by shi-n