2008-05-01から1ヶ月間の記事一覧

problem 9

a^2 + b^2 = c^2 かつ a + b + c = 1000 を満たす a, b, c の積 abc を求める問題。 (define (p9) (define square (lambda (x) (* x x))) (define (p9-iter a b) (let1 c (- 1000 a b) (if (= (+ (square a) (square b)) (square c)) (* a b c) (p9-iter (if…

problem 6

1 から 100 までの数に対して和の平方と平方の和の差を求めるという問題。楽勝。 (use srfi-1) (define (p6) (let ((list100 (list-tabulate 100 (lambda (i) (+ i 1)))) (square (lambda (x) (* x x))) (sum (lambda (x) (fold + 0 x)))) (- (square (sum l…

problem 4

1 から 999*999 までの整数のなかで 121 のように桁を反転させても同じ数になる数の最大のものを求める問題です。 (use srfi-13) (define (is-palindomic n) (let1 strn (number->string n) (string=? strn (string-reverse strn)))) (define (p4) (define (…

problem 1

私の周辺で流行っている About - Project Euler。掲載されている数学の問題をひたすら解いていくというものですが どこまでいけるか分かりませんが gauche で挑戦してみました。(3 または 5 の倍数であり) かつ 1000 未満である数の合計を求めるという問題。…

problem 2

4000000 以下のフィボナッチ数列の一般項で偶数の合計を求める問題。 (define (fib n) (define (fib-iter a b count) (if (= count 0) b (fib-iter (+ a b) a (- count 1)))) (fib-iter 1 0 n)) (define (p2 maxnum) (define (p2-iter n sum) (let ((fibn (f…