トップ «前の日記(2016-05-28(Sat)) 最新 次の日記(2016-05-30(Mon))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2016-05-29(Sun) またぼんやりとくもり

奇数か偶数か

ともかくやってみた。
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や内容が変った場合はあしからず。

index.htmlは ここから。