トップ «前の日記(2016-06-05(Sun)) 最新 次の日記(2016-06-08(Wed))» 編集

屑俺日記

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


2016-06-06(Mon) たぶん晴れていた

これまた久々のfizzbuzz

例によって 手習い本風に。

; まず剰余がゼロか否か
(define mod0
  (lambda (n m)
    (cond
     ((zero? n) #t)
     ((> n m) #f)
     (#t
      (mod0 (- n m) m)))))
 
;関数本体
(define fb
  (lambda (n)
    (cond
     ((mod0 n 15) 'fizzbuzz)
     ((mod0 n 5) 'buzz)
     ((mod0 n 3) 'fizz)
     (#t
      n))))
 
;どこからどこまでfizzbuzzする
(define fizzbuzz
  (lambda (first last)
    (cond
     ((> first last) '())
     (#t
      (cons
       (fb first)
       (fizzbuzz (+ first 1) last))))))
(fizzbuzz 8 20) 
gosh> (8 fizz buzz 11 fizz 13 14 fizzbuzz 16 17 fizz 19 buzz)

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。