생성일: 2019년 11월 14일
수정일: 2022년 10월 15일

4clojure - Factorial Fun (42)

Problem

(= (__ 1) 1)

(= (__ 3) 6)

(= (__ 5) 120)

(= (__ 8) 40320)

Solved

(fn [x]
  (apply * (range 1 (inc x))))

팩토리얼 문제이다. x로 들어오는 값은 포함을 해야하기 때문에 내부에서 계산시 inc로 1 증가 시켜 x의 값을 증가 시켰다. 그에 결과 리스트를 * 하여 값을 도출해 내었다.

Solved 2

(defn my-factorial2 [x]
  (->> (iterate inc 1)
       (take x)
       (reduce *)))

iterate와 take의 조합을 사용하면 inc를 따로 사용할 필요는 없다.

Tags: 4clojure Today I Learn