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

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

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

(print (gcd 1071 1029))
takatoh@nightschool $ gosh gcd.scm
21

コメントを残す

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

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