Lisp達のFizzBuzz(ループ)

;CommonLisp (loop for i from 1 to 100 do (let( (fizz (= […]

;CommonLisp (loop for i from 1 to 100 do (let( (fizz (= […]

  • タグ:
  • タグはありません
;CommonLisp
(loop for i from 1 to 100 do
(let(
(fizz (= 0 (mod i 3)))
(buzz (= 0 (mod i 5))))
(if (and fizz buzz)
(write-line "Fizz Buzz")
(if fizz
(write-line "Fizz")
(if buzz
(write-line "Buzz")
(format t "~d~%" i))))))
;Scheme
(let loop((i 1)) (when(<= i 100)
(let(
(fizz (= 0 (mod i 3)))
(buzz (= 0 (mod i 5))))
(if (and fizz buzz)
(display "Fizz Buzz\n")
(if fizz
(display "Fizz\n")
(if buzz
(display "Buzz\n")
(display (string-append(number->string i) "\n"))))))
(loop (+ 1 i))))
;Clojure
(loop[i 1] (when(<= i 100)
(let[
fizz,(= 0 (mod i 3))
buzz,(= 0 (mod i 5))]
(if (and fizz buzz)
(println "Fizz Buzz")
(if fizz
(println "Fizz")
(if buzz
(println "Buzz")
(println i)))))
(recur (inc i))))
#Python3
for i in range(1,100+1):
fizz=0==i%3
buzz=0==i%5
if fizz and buzz:
print("Fizz Buzz")
elif fizz:
print("Fizz")
elif buzz:
print("Buzz")
else:
print(i)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX