SICP問題1.45

書いたの間違って消しちゃったので、答えだけ。
n 乗根の不動点を収束させるのに必要な平均緩和の回数は
2^a <= n < 2^(a + 1) の a になることが試してみると分かる。

整数の割り算のでっちあげ

(define (int-div x y)
  (if (= (remainder x y) 0)
      (/ x y)
      (/ (- x (remainder x y)) y)))

n剰根を求める関数

(define (n-root x n)
  (define (average-damp-count m)
    (if (< m 2)
	0
	(int-div m 2)))
  (fixed-point ((repeated average-damp (average-damp-count n))
		(lambda (y) (/ x (expt y (- n 1))))) 1.0))