最小公倍数

30分プログラム、その780。
最小公倍数を求めてみました。

使い方

gosh> (lcm 3 2)
6
gosh> (lcm 21 6)
42

ソースコード

#! /opt/local/bin/gosh
;; -*- mode:scheme; coding:utf-8 -*-

(define (gcd x y)
  (if (= y 0)
      x
      (gcd y (modulo x y))))

(define (lcm x y)
  (/ (abs (* x y))
     (gcd x y)))