Prolog 写経記 その 54 gcd/3
(ほぼ) 毎日淡々と Prolog を写経します.元ネタはこちら.
- 作者: ボグダンフィリピッチ,中島誠,伊藤哲郎
- 出版社/メーカー: 海文堂出版
- 発売日: 1990/08
- メディア: 単行本
- 購入: 4人 クリック: 33回
- この商品を含むブログ (68件) を見る
gcd/3
を写経します.解説
gcd(N, M, Gcd)
はN
とM
の最大公約数をGcd
に具体化する.
らじゃあ.
モード
gcd(+, +, -).
ふむ.
定義
では,こいつの定義を写経しませう.
gcd(N, 0, N) :- integer(N), !. gcd(N, M, Gcd) :- integer(N), integer(M), G is N mod M, !, gcd(M, G, Gcd).
ふむ.
引き算じゃなくて余りを求めていく方法ですね.
でもでも,それだけって感じで特にどうという事もなく...
注記
引数
N
とM
が整数でない場合gcd
は失敗する.
らじゃあ.
例
では使用例を写経しませう.
2 ?- gcd(28, 144, X). X = 4 Yes 3 ?- gcd(225, 37, Gcd). Gcd = 1 Yes 4 ?- gcd(4.9, 490, G). No
結果もどうという事もなく...
すげー手抜きっぽいけど手抜きしたいわけじゃなく,そういう内容だからしょうがないのだ.
つまらなくてもひたすら淡々と写経するのだ.