[ create a new paste ] login | about

Recent implementations of FizzBuzz, in:
[ C | C++ | D | Haskell | Lua | OCaml | PHP | Perl | Python | Ruby | Scheme | Tcl ]

C:
pasted on Aug 30:
char *FizzBuzz( int x );

int main( void )
{
  
  char *FB;
  int i;
  
  for( i=1; i<101; i++ )
  {
    FB = FizzBuzz( i );
    
    FB != NULL ? printf( "%s\n", FB ) : printf("%d\n", i);
  } 
  
  return 0;
  
}

char *FizzBuzz( int n )
{
  char *x = NULL;
  
  if( (n%3 == 0) && (n%5 == 0) )
    x = "FizzBuzz";
  else if( (n%5 == 0) )
    x = "Buzz";
  else if( (n%3 == 0) )
    x = "Fizz";
  
  return x;
  
}
view (33 lines, 100 lines of output)
pasted on Aug 29:
1
2
3
4
5
6
7
8
#include <stdio.h>
#define f(x, y) !(x % y)
int main(int i, char **argv){
   for(i = 1; i <= 100; ++i){
      printf(f(i, 3)? f(i, 5) ? "FizzBuzz\n" : "Fizz\n" : f(i, 5) ? "Buzz\n" : "%d\n", i);
   }
   return 0;
}
view (8 lines, 100 lines of output)


C++:
pasted yesterday:
1
2
3
4
5
6
7
int main()
{
for( int i = 1; i <= 100; i++) 
{
    if(i % 3 == 0) cout << "fizz"; if(i % 5 == 0) cout << "buzz"; if( i % 3 != 0 && i % 5 != 0) cout << i; cout << "\n";
}
}
view (7 lines, 100 lines of output)
pasted on Aug 25:
1
2
3
4
5
6
7
int main()
{
for( int i = 1; i <= 100; i++) 
{
    if(i % 3 == 0) cout << "fizz"; if(i % 5 == 0) cout << "buzz"; if( i % 3 != 0 && i % 5 != 0) cout << i; cout << "\n";
}
}
view (7 lines, 100 lines of output)


D:
pasted on Jul 14:
1
2
3
4
5
6
7
8
9
10
void main()
{
  for (uint i = 1; i <= 100; i++)
  {
    if ((i % 3 == 0) && (i % 5 == 0)) { writefln("FizzBuzz"); continue; }
    if (i % 3 == 0) { writefln("Fizz"); continue; }
    if (i % 5 == 0) { writefln("Buzz"); continue; }
    writefln(i);
  }
}
view (10 lines, 100 lines of output)
pasted on May 14:
1
2
3
4
5
6
7
8
9
10
void main()
{
  for (uint i = 1; i <= 100; i++)
  {
    if ((i % 3 == 0) && (i % 5 == 0)) { writefln("FizzBuzz"); continue; }
    if (i % 3 == 0) { writefln("Fizz"); continue; }
    if (i % 5 == 0) { writefln("Buzz"); continue; }
    writefln(i);
  }
}
view (10 lines, 100 lines of output)


Haskell:
pasted on Sep 1:
1
2
3
4
5
6
7
fizzbuzz x = case (x `mod` 3, x `mod` 5) of
	(0, 0) -> "FizzBuzz"
        (0, _) -> "Fizz"
        (_, 0) -> "Buzz"
        _ -> show x

main = mapM_ (putStrLn . fizzbuzz) [1..100]
view (7 lines, 100 lines of output)
pasted on Aug 27:
1
2
3
4
5
6
7
8
9
10
11
12
13
myLookup _ [] = Nothing
myLookup key ((thiskey,thisval):rest) =
    if key == thiskey
       then Just thisval
       else myLookup key rest

fizzbuzz x = case (x `mod` 3, x `mod` 5) of
	(0, 0) -> "FizzBuzz"
        (0, _) -> "Fizz"
        (_, 0) -> "Buzz"
        _ -> show x

main = mapM_ (putStrLn . fizzbuzz) [1..100]
view (13 lines, 100 lines of output)


Lua:
pasted on Jul 29:
1
2
3
4
5
6
7
8
9
10
11
12
13
-- ataraxia% cat fizzbuzz.lua

for i = 1, 100 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
view (13 lines, 100 lines of output)
pasted on Jun 30:
1
2
3
4
5
6
7
8
9
10
11
12
13
-- ataraxia% cat fizzbuzz.lua

for i = 1, 100 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
view (13 lines, 100 lines of output)


OCaml:
pasted on Aug 28:
open StdLabels

let (|>) f g = g f
let rec range n m =
  if n > m then
    []
  else
    n :: range (n+1) m

let _ =
  range 1 100
  |> List.map ~f:begin fun n ->
       if n mod 15 = 0 then
	 "fizzbuzz"
       else if n mod 3 = 0 then
	 "fizz"
       else if n mod 5 = 0 then
	 "buzz"
       else
	 string_of_int n
     end
  |> List.iter ~f:print_endline
view (22 lines, 100 lines of output)
pasted on Aug 27:
1
2
3
4
5
6
7
let fizzbuzz x = match x mod 3, x mod 5 with
  | 0, 0 -> "FizzBuzz"
  | 0, _ -> "Fizz"
  | _, 0 -> "Buzz"
  | _ -> string_of_int x

let _ = for i = 1 to 100 do print_endline (fizzbuzz i) done
view (7 lines, 100 lines of output)


PHP:
pasted on Aug 31:
1
<?for(;++$i<101;)echo ($i%15?$i%3?$i%5?$i:"Buzz":"Fizz":"FizzBuzz")."\n";
view (1 line, 100 lines of output)
pasted on Aug 13:
1
<?for(;++$i<101;)echo ($i%15?$i%3?$i%5?$i:"Buzz":"Fizz":"FizzBuzz")."\n";
view (1 line, 100 lines of output)


Perl:
pasted on Aug 5:
1
$\="\n";print $_%15?$_%5?$_%3?$_:Fizz:Buzz:FizzBuzz for(1..100)
view (2 lines, 100 lines of output)
pasted on Aug 2:
1
$\="\n";print $_%15?$_%5?$_%3?$_:Fizz:Buzz:FizzBuzz for(1..100)
view (1 line, 100 lines of output)


Python:
pasted on Jul 27:
1
2
for i in range(1,101):
  print not i%15 and "FizzBuzz" or not i%3 and "Fizz" or not i%5 and "Buzz" or i
view (2 lines, 100 lines of output)
pasted on Jul 23:
1
2
3
4
5
def FizzBuzz(n):
  return not n%15 and "FizzBuzz" or not n%3 and "Fizz" or not n%5 and "Buzz" or n

for i in range(1,101):
  print FizzBuzz(i)
view (5 lines, 100 lines of output)


Ruby:
pasted on Aug 24:
1
1.upto(100){|i|a,b=[:Fizz][i%3],[:Buzz][i%5];puts a||b ? "#{a}#{b}":i}
view (1 line, 100 lines of output)
pasted on Aug 24:
1
1.upto(100){|i|a,b=[:Fizz][i%3],[:Buzz][i%5];puts a||b ? "#{a}#{b}":i}
view (1 line, 100 lines of output)


Scheme:
pasted on Aug 28:
(define (fizz-buzz lst)
   (map
      (lambda (x)
         (cond
            ((= (modulo x 15) 0) "FizzBuzz")
            ((= (modulo x 5) 0) "Buzz")
            ((= (modulo x 3) 0) "Fizz")
            (else x)))
      lst))

(define (iota fst num . step_optional)
   (let ((step
            (cond
               ((null? step_optional) 1)
               ((and
                   (number? (car step_optional))
                   (null? (cdr step_optional)))
                  (car step_optional))
               (else (error "argument error")))))
      (let loop ((rest num)
                 (val '())
                 (elem (+ fst (* (- num 1) step))))
         (if (<= rest 0)
            val
            (loop (- rest 1) (cons elem val) (- elem step))))))

(for-each (lambda (x) (display x) (newline))
   (fizz-buzz (iota 1 100)))
view (28 lines, 100 lines of output)
pasted on Aug 28:
(define (fizz-buzz lst)
   (map
      (lambda (x)
         (cond
            ((= (modulo x 15) 0) "FizzBuzz")
            ((= (modulo x 5) 0) "Buzz")
            ((= (modulo x 3) 0) "Fizz")
            (else x)))
      lst))

(define (iota fst num . step_optional)
   (let ((step
            (cond
               ((null? step_optional) 1)
               ((and
                   (number? (car step_optional))
                   (null? (cdr step_optional)))
                  (car step_optional))
               (else (error "argument error")))))
      (let loop ((rest num)
                 (val '())
                 (elem (+ fst (* (- num 1) step))))
         (if (<= rest 0)
            val
            (loop (- rest 1) (cons elem val) (- elem step))))))

(for-each (lambda (x) (display x) (display #\linefeed))
   (fizz-buzz (iota 1 100)))
view (28 lines, 100 lines of output)


Tcl:
pasted on Apr 3:
1
2
3
4
5
6
7
8
for {set i 1} {$i <= 100} {incr i} {
    set x ""
    if {$i % 3 == 0} { set x "Fizz" }
    if {$i % 5 == 0} { set x "Buzz" }
    if {$i % 3 == 0 && $i % 5 == 0} { set x "FizzBuzz" }
    if {$i % 3 > 0 && $i % 5 > 0} { set x $i }
    puts $x
}
view (8 lines, 101 lines of output)