この関数をemacs-lispで書くと:
(defun factorial (n)
(if (<= n 1)
1
(* n (factorial (- n 1)))))
=> factorial
5や10のような小さな数ではうまく機能しますが、計算しようとすると(階乗33)、答えは-1211487723752259584です。これは明らかに間違っており、大きな数はすべて関数を壊します。Pythonではこれは起こりません。この問題の原因は何ですか?