생성일: 2019년 11월 14일
수정일: 2022년 10월 15일
수정일: 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를 따로 사용할 필요는 없다.