##xのn乗の計算をしたい
xのn乗を計算するプログラムを、letを用いて書きたいです。
試行錯誤して、エラーが出ないようにはなりましたが、実行に非常に時間がかかり、挙句「メモリを使い切りました」という表示が出てしまって計算できません。
プログラムを修正するべきなのだと思うのですが、初心者のため修正点が分かりません。
問題を指摘して頂けると嬉しいです。
Macbook airでDr.Racketを使用しています。
##記述したプログラム
(define (pow2 x n) (let ((y (pow2 x (/ n 2)))) (cond ((= n 0) 1) ((= (modulo n 2) 0) (* y y)) (else (* x y y)))))
まだ回答がついていません
会員登録して回答してみよう