2
我正在使用Clojure 1.5.1。下面是我的程序:升級到BigDecimal不會發生
(def bricks4
(memoize (fn [n]
(cond (> 0 n) 0
(= 0 n) 1
(= 1 n) 1
:else (+ (bricks4 (- n 1))
(bricks4 (- n 2))
(bricks4 (- n 3))
(bricks4 (- n 4)))))))
(bricks4 70)拋出異常:
ArithmeticException integer overflow clojure.lang.Numbers.throwIntOverflow (Numbers.java:1388)
我很困惑,因爲我認爲的Clojure將自動從整數促進數字來龍,然後到BigDemical。
我應該怎麼做才能修復此程序?