[ create a new paste ] login | about

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

C:
fulano - pasted yesterday:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//FizzBuzz - Showing off
#include <stdio.h>

int main ()
{
int i;
char stringBuff[3];

for (i = 1; i <= 100; ++i)
{
  sprintf (stringBuff, "%d", i);
  printf ("%s%s%s\n", !(i%3)? "Fizz" : "", !(i%5)? "Buzz" : "", i%3 && i%5 ? stringBuff : "");
}
return 0;
}
view (15 lines, 100 lines of output)
pasted yesterday:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//FizzBuzz
#include <stdio.h>

int main ()
{
int i;
char stringBuff[3];

for (i = 1; i <= 100; ++i)
{
  sprintf (stringBuff, "%d", i);
  printf ("%s%s%s\n", !(i%3)? "Fizz" : "", !(i%5)? "Buzz" : "", i%3 && i%5 ? stringBuff : "");
}
return 0;
}
view (15 lines, 100 lines of output)


C++:
fulano - pasted yesterday:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// FizzBuzz - showing off
#include <string.h>
#include <iostream.h>

string c (int n)
{
stringstream cn;
cn<< n;
return cn.str();
}

int main ()
{
for (int i = 1; i <= 100; ++i)
  cout << (!(i%3)?"Fizz":"") << (!(i%5)?"Buzz":"") << ((i%3 && i%5)?c(i):"") << endl;

return 0;
}
view (18 lines, 100 lines of output)
fulano - pasted yesterday:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// FizzBuzz
#include <string.h>
#include <iostream.h>

string c (int n)
{
stringstream cn;
cn<< n;
return cn.str();
}

int main ()
{
for (int i = 1; i <= 100; ++i)
  cout << (!(i%3)?"Fizz":"") << (!(i%5)?"Buzz":"") << ((i%3 && i%5)?c(i):"") << endl;

return 0;
}
view (18 lines, 100 lines of output)


D:
pasted on Jan 5:
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 Dec 12:
1
import std.stdio;void main(){for(int i=1;i<101;i++)i%3&&i%5?writefln(i):writefln(i%3?"":"Fizz",i%5?"":"Buzz");}
view (1 line, 100 lines of output)


Haskell:
pasted on Mar 7:
1
2
3
import Control.Monad
f n|n`mod`15==0="FizzBuzz"|n`mod`3==0="Fizz"|n`mod`5==0="Buzz"|otherwise=show n
main=mapM_(putStrLn.f)[1..100]
view (3 lines, 100 lines of output)
pasted on Mar 7:
1
2
3
4
import Control.Monad
import Data.List
import Data.Char
main = mapM_ putStrLn $ zipWith3 (\a b c -> head $ groupBy (\a b -> isAlpha a == isAlpha b) (a ++ b ++ c)) (cycle ["","","Fizz"]) (cycle ["","","","","Buzz"]) (map show [1..100])
view (4 lines, 100 lines of output)


Lua:
pasted on Mar 12:
1
2
3
4
5
f,b='Fizz','Buzz'
for i=1,100 do
	a={f,i,i}
	print(({{f..b,b,b},a,a,a,a})[i%5+1][i%3+1])
end
view (5 lines, 100 lines of output)
pasted on Mar 11:
1
2
3
4
5
x = function (i)
local s =(i%3==0 and "Fizz" or '') .. (i%5==0 and "Buzz" or ''); if (s == '') then return nill else return s end
end

for i = 1, 100 do print (x(i) or i ) end
view (5 lines, 100 lines of output)


OCaml:
pasted on Oct 21:
1
2
3
4
5
6
7
8
9
10
11
12
let rec fizz = ""::""::"fizz"::fizz;;
let rec buzz = ""::""::""::""::"buzz"::buzz;;

let rec take l n = match l with
  [] -> []
  | hd::tl -> if n > 0
    then hd::take tl (pred n)
    else []

let fizzbuzz = List.map2 (fun n -> function "" -> string_of_int n | a -> a) (List.map succ (Array.to_list (Array.init 100 (fun x -> x)))) (List.map2 (^) (take fizz 100) (take buzz 100));;

List.iter print_endline fizzbuzz;;
view (12 lines, 100 lines of output)
pasted on Aug 9:
1
2
3
4
5
6
7
8
9
10
11
12
let rec fizz = ""::""::"Fizz"::fizz;;
let rec buzz = ""::""::""::""::"Buzz"::buzz;;

let rec take l n = match l with
  [] -> []
  | hd::tl -> if n > 0
    then hd::take tl (pred n)
    else []

let fizzbuzz = List.map2 (fun n -> function "" -> string_of_int n | a -> a) (List.map succ (Array.to_list (Array.init 100 (fun x -> x)))) (List.map2 (^) (take fizz 100) (take buzz 100));;

List.iter print_endline fizzbuzz;;
view (12 lines, 100 lines of output)


PHP:
fulano - pasted on Mar 3:
1
2
<?//FizzBuzz - Showing off
for ($i = 1; $i < 101; ++$i) { print ($i%3 && $i%5 ? $i : (!($i%3) ? "Fizz" : "") . (!($i%5) ? "Buzz" : "")) . "\n";}?>
view (2 lines, 100 lines of output)
fulano - pasted on Mar 3:
1
2
<? //FizzBuzz - Showing off ?>
<?for ($i = 1; $i < 101; ++$i) { print ($i%3 && $i%5 ? $i : (!($i%3) ? "Fizz" : "") . (!($i%5) ? "Buzz" : "")) . "\n";}?>
view (2 lines, 100 lines of output)


Perl:
pasted on Mar 13:
1
print+("Fizz")[$_%3].("Buzz")[$_%5]||$_,$/for(1..100)
view (1 line, 100 lines of output)
pasted on Mar 13:
1
print+("Fizz")[$_%3].("Buzz")[$_%5]||$_,$/for(1..100)
view (1 line, 100 lines of output)


Python:
pasted yesterday:
1
2
3
4
5
f="Fizz"
b="Buzz"
for i in range(1,101):
    a=f,i,i
    print [[f+b,b,b,i],a,a,a,a][i%5][i%3]
view (5 lines, 100 lines of output)
pasted yesterday:
1
for i in range(1,101):f="Fizz";b="Buzz";a=f,i,i;print [[f+b,b,b,i],a,a,a,a][i%5][i%3]
view (1 line, 100 lines of output)


Ruby:
PiRSquared - pasted on Mar 9:
1
(1..100).each{|i|f="Fizz";b="Buzz";a=f,i,i;puts [[f+b,b,b],a,a,a,a][i%5][i%3]}
view (1 line, 100 lines of output)
PiRSquared - pasted on Mar 9:
1
(1..100).each{|i|f="Fizz";b="Buzz";a=[f,i,i];puts [[f+b,b,b],a,a,a,a][i%5][i%3]}
view (1 line, 100 lines of output)


Scheme:
pasted on Jan 10:
(define (range start limit step)
    ;;
    ;; Generate a list from a given value, to a given value
    ;; e.g. '(start (+ start step) ... end )
    ;; Author: Daniel Turner
    ;;
    (define (iter start limit step out_list)
        (if (> (car out_list) limit)
            (reverse (cdr out_list))
            (iter start limit step (cons (+ (car out_list) step) out_list))
        )
    )
    (iter start limit step (list start))
)

(define (fizz-buzz n)
    ;;
    ;; Determine whether to fizz, buzz or fizz buzz for a given n.
    ;; Author: Daniel Turner
    ;;
    (cond ((= 0 (remainder n 15)) 'FizzBuzz)
          ((= 0 (remainder n 5)) 'Buzz)
          ((= 0 (remainder n 3)) 'Fizz)
          (else n)
    )
)
(map (lambda (n) (display n) (display "\n")) (map fizz-buzz (range 1 100 1)))
view (27 lines, 100 lines of output)
pasted on Oct 11:
(define (range start limit step)
    ;;
    ;; Generate a list from a given value, to a given value
    ;; e.g. '(start (+ start step) ... end )
    ;; Author: Daniel Turner
    ;;
    (define (iter start limit step out_list)
        (if (> (car out_list) limit)
            (reverse (cdr out_list))
            (iter start limit step (cons (+ (car out_list) step) out_list))
        )
    )
    (iter start limit step (list start))
)

(define (fizz-buzz n)
    ;;
    ;; Determine whether to fizz, buzz or fizz buzz for a given n.
    ;; Author: Daniel Turner
    ;;
    (cond ((= 0 (remainder n 15)) 'FizzBuzz)
          ((= 0 (remainder n 5)) 'Buzz)
          ((= 0 (remainder n 3)) 'Fizz)
          (else n)
    )
)
(map (lambda (n) (display n) (display "\n")) (map fizz-buzz (range 1 100 1)))
view (27 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)