simanのブログ

ゆるふわプログラマー。競技プログラミングやってます。Ruby好き

lispでfizzbuzz

プログラミング言語を学ぶときは「Hello World」と「FizzBuzz」ができればOKなので、FizzBuzz書いてみた。

(setq i 1)  ; setqで変数の初期化

(loop
  ; lispでは剰余の計算は%ではなくremで行う
  (if (= (rem i 15) 0) (print "FizzBuzz")
  (if (= (rem i 5) 0) (print "Buzz")
  (if (= (rem i 3) 0) (print "Fizz")
  (print i))))
  (if (= i 15) (return i))
  (setq i (+ i 1))
)
1 
2 
"Fizz" 
4 
"Buzz" 
"Fizz" 
7 
8 
"Fizz" 
"Buzz" 
11 
"Fizz" 
13 
14 
"FizzBuzz" 

if文が続いてる部分は三項演算子をひたすら書いてる気分になる。あとは剰余の計算が%ではなくremなところで少し引っかかったくらい。