Schemeでユークリッドの互除法

今日は時間がないので埋草的エントリ。
ユークリッドの互除法で最大公約数を求める。

(define gcd
  (lambda (x y)
    (let ((z (mod x y)))
      (if (= z 0)
        y
        (gcd y z)))))

(print (gcd 1071 1029))
[email protected] $ gosh gcd.scm
21
カテゴリー: algorithm, Scheme パーマリンク

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください