수학 최대 공약수 구하기

Posted at 2007/12/10 17:33// Posted in study/pl
# 파이썬 버전(재귀호출)
def gcd(a, b):
        if (a > b):
                return gcd(a - b, b)
        elif (a < b):
                return gcd(a, b - a)
        else:
                return a

print gcd(6, 9)

# 파이썬 버전 (루프사용)
def gcd(a, b):
        while (b != 0):
                a, b = b, a % b
        return abs(a)

print gcd(6, 9)


; Scheme 버전
(define gcd
    (lambda (a b)
        (cond
            ((> a b) (gcd (- a b) b))
            ((< a b) (gcd a (- b a)))
            (else a))))

(gcd 6 9)

오늘 시험에 최대 공약수 구하기 나온다는데...
교수님이 재귀 호출과 scheme 을 좋아하니 미리 대비중입니다 -_-)>
이올린에 북마크하기(0) 이올린에 추천하기(0)
2007/12/10 17:33 2007/12/10 17:33