僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
ともかくやってみた。
zero? より = の方が良かったかも。
(define oddeven (lambda (n) (cond ((zero? n) 'even) ((zero? (- n 1)) 'odd) (#t (oddeven (- n 2)))))) gosh> (oddeven 7) odd gosh> (oddeven 10) even
(define oddeven (lambda (n) (cond ((= 0 n) 'even) ((= 1 n) 'odd) (#t (cond ((< 0 n) (oddeven (- n 2))) (#t (oddeven (+ n 2)))))))) gosh> (oddeven -5) odd gosh> (oddeven -8) even
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。