생성일: 2019년 12월 11일
수정일: 2023년 08월 07일

4clojure - Greatest Common Divisor (66)

  1. 문제
  2. 풀이

문제

(= (__ 2 4) 2)

(= (__ 10 5) 5)

(= (__ 5 7) 1)

(= (__ 1023 858) 33)

풀이

(fn [x y]
  (loop [a x b y]
    (if (= b 0) a
      (recur b (rem a b)))))

최대 공약수를 구하는 문제이다. 쉽게 구하는 수학적인 공식이 있는데 유클리드 호제법을 이용해서 문제를 쉽게 풀 수 있다. 그 공식을 이용하고 recursive로 문제를 풀었다.

Tags: 4clojure Today I Learn