Fizzbuzz
Sujet
Écrire un programme qui affiche les nombres de 1 à 199. Mais pour les multiples de 3, afficher “Fizz” au lieu du nombre et pour les multiples de 5 afficher “Buzz”. Pour les nombres multiples de 3 et 5, afficher “FizzBuzz”.
Python
for i in range(1, 200):
if i % 3 == 0 and i % 5 == 0:
print("FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)
Answer Set Programming
number(1..199).
token("Fizz";"Buzz";"FizzBuzz";1..199).
% Chaque nombre est associé à un seul token, soit un nombre, soit Fizz, Buzz ou FizzBuzz.
1 { value(N, T): token(T) } 1 :- number(N).
% Si le nombre est multiple de 3 et de 5, alors FizzBuzz.
value(N, "FizzBuzz") :- N\3=0 ; N\5=0 ; number(N).
% Si le nombre est multiple de 3 uniquement, alors Fizz.
value(N, "Fizz") :- N\3=0 ; N\5!=0 ; number(N).
% Si le nombre est multiple de 5 uniquement, alors Buzz.
value(N, "Buzz") :- N\3!=0 ; N\5=0 ; number(N).
% Sinon, si le nombre n'est ni multiple de 3 ni de 5, on retourne le nombre lui même.
value(N, N) :- N\3!=0 ; N\5!=0 ; number(N).
#show value/2.
OCaml
let rec fizz_buzz i n =
if i <= n then
let () =
if i mod 3 = 0 && i mod 5 = 0 then
print_endline "FizzBuzz"
else if i mod 3 = 0 then
print_endline "Fizz"
else if i mod 5 = 0 then
print_endline "Buzz"
else Printf.printf "%d\n" i
in fizz_buzz (i+1) n
let () = fizz_buzz 1 199
C
#include <stdio.h>
int main() {
for (unsigned int i=1; i <= 199; i++) {
if (i % 3 == 0 && i % 5 == 0) {
printf("FizzBuzz\n");
} else if (i % 3 == 0) {
printf("Fizz\n");
} else if (i % 5 == 0) {
printf("Buzz\n");
} else {
printf("%d\n", i);
}
}
}
C++
#include <iostream>
int main() {
for (unsigned int i=1; i <= 199; i++) {
if (i % 3 == 0 && i % 5 == 0) {
std::cout << "FizzBuzz";
} else if (i % 3 == 0) {
std::cout << "Fizz";
} else if (i % 5 == 0) {
std::cout << "Buzz";
} else {
std::cout << i;
}
std::cout << std::endl;
}
}
Rust
fn main() {
for i in 1..200 {
if (i % 3 == 0 && i % 5 == 0) {
println!("FizzBuzz");
} else if (i % 3 == 0) {
println!("Fizz");
} else if (i % 5 == 0) {
println!("Buzz");
} else {
println!("{}", i);
}
}
}
Perl
Lua
for i=1,199 do
if i % 3 == 0 and i % 5 == 0 then
print("FizzBuzz")
elseif i % 3 == 0 then
print("Fizz")
elseif i % 5 == 0 then
print("Buzz")
else
print(i)
end
end
Julia
numbers = 1:199
function fizzbuzz(n)
if n % 3 == 0 && n % 5 == 0
println("FizzBuzz")
elseif n % 3 == 0
println("Fizz")
elseif n % 5 == 0
println("Buzz")
else
println(n)
end
end
map(fizzbuzz, numbers)
R
sapply(1:199, function(n) {
if (n %% 3 == 0 && n %% 5 == 0) print("FizzBuzz")
else if (n %% 3 == 0) print("Fizz")
else if (n %% 5 == 0) print("Buzz")
else print(n)
})
Awk
BEGIN {
for (i=1; i <= 199; i++) {
if (i%3 == 0 && i%5 == 0)
print "FizzBuzz"
else if (i % 3 == 0)
print "Fizz"
else if (i % 5 == 0)
print "Buzz"
else
print i
}
}
Bash
for i in {1..199}; do
if (( $((i % 3)) == 0 && $((i % 5)) == 0 )); then
echo "FizzBuzz"
elif (( $((i % 3)) == 0)); then
echo "Fizz"
elif (( $((i % 5)) == 0)); then
echo "Buzz"
else
echo $i
fi
done