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)