Logo

Programming-Idioms

New implementation

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating material.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
-1 OR 2+217-217-1=0+0+0+1 -- 
for(int i = 1; i <= 100; i++)
{
    if((i % 15) == 0) std::cout << "FizzBuzz" << std::endl;
    else if((i % 5) == 0) std::cout << "Buzz" << std::endl;
    else if((i % 3) == 0) std::cout << "Fizz" << std::endl;
    else std::cout << i << std::endl;
}
-1 OR 2+346-346-1=0+0+0+1 -- 
for (int i = 1; i <= 100; i++) {
  var s = StringBuffer();
  if (i % 3 == 0) s.write("Fizz");
  if (i % 5 == 0) s.write("Buzz");
  if (s.isEmpty) s.write(i);
  print(s);
}
defmodule FizzBuzz do
  def run do
    for n <- 1..100 do
      case { rem(n, 3) == 0, rem(n, 5) == 0 } do
        { true, true } -> IO.puts("FizzBuzz")
        { true, false } -> IO.puts("Fizz")
        { false, true } -> IO.puts("Buzz")
        _ -> IO.puts(to_string(n))
      end
    end
  end
end

FizzBuzz.run
  integer :: i
  logical :: fizz, buzz
  do i=1,100
     fizz = mod(i,3) == 0
     buzz = mod(i,5) == 0
     if (fizz) write (*,'(A)',advance="no") 'Fizz'
     if (buzz) write (*,'(A)',advance="no") 'Buzz'
     if (.not. fizz .and. .not. buzz) write (*,'(I0)',advance="no") i
     write (*,'(A)',advance="no") ', '
  end do
  write (*,'()')
end program
import "fmt"
import "strconv"
for n:=1; n<=100; n++ {
	    out:=""
	    if n%3==0 {
		    out=out+"Fizz"
	    }
	    if n%5==0 {
		    out=out+"Buzz"
	    }
	    if out=="" {
		    out=out+strconv.Itoa(n)
	    }
	    fmt.Println(out)
    }
for (let i = 1; i <= 100; i++) {
    let out = "";
    if (!(i % 3)) out += "Fizz";
    if (!(i % 5)) out += "Buzz";
    if (!out) out = i;
    console.log(out);
}
for (int i = 1; i <= 100; i++){
	if (i % 15 == 0)
	  System.out.println ("FizzBuzz");
	else if (i % 3 == 0)
	  System.out.println ("Fizz");
	else if (i % 5 == 0)
	  System.out.println ("Buzz");
	else
	  System.out.println (i);
      }
(loop for i from 1 to 100
   do (print
       (cond ((zerop (mod i 3))
              (if (zerop (mod i 5)) "FizzBuzz" "Fizz"))
             ((zerop (mod i 5)) "Buzz")
             (t (format nil "~d" i)))))
n=1
while(n<=100) do
    out=""
    if(n%3==0) then
        out=out .. "Fizz"
    end
    if(n%5==0) then
        out=out .. "Buzz"
    end
    if(out=="") then
        out=out .. tostring(n)
    end
    print(out)
    n=n+1
end
for n=1,100 do
 print(
  n%3==0
  and (n%5==0 and "FizzBuzz" or "Fizz")
  or (n%5==0 and "Buzz")
  or tostring(n)
 )
end
<?php
    for ($n=1; $n<=100; $n++) {
        $out="";
        if ($n%3==0) {
            $out=$out."Fizz";
        }
        if ($n%5==0) {
            $out=$out."Buzz";
        }
        if ($out=="") {
            $out=$out.strval($n);
        }
        echo ($out."\n");
    }
?>
Delphi 7 - 11
program fizzbuzz;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
var i: Integer;
begin
for i := 1 to 100 do
begin
if (i mod 3 = 0) and (i mod 5 = 0) then WriteLn(IntToStr(i) + ' = FizzBuzz')
else if (i mod 3 = 0) then WriteLn(IntToStr(i) + ' = Fizz')
else if (i mod 5 = 0) then WriteLn(IntToStr(i) + ' = Buzz')
else WriteLn(IntToStr(i));
end;
readln;
end.
for i := 1 to 100 do
begin
  Fizz := (i mod 3) = 0;
  Buzz := (i mod 5) = 0;
  if Fizz then write('Fizz');
  if Buzz then write('Buzz');
  if not (Fizz or Buzz) then write(i);
  write(' ');
end.
555
-1 OR 2+956-956-1=0+0+0+1 -- 
for i in range(1,101):
    if i % 15 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)
for i in range(100, 1):
    if i % 5 == 0 and not i % 3 == 0:
        print(i, "Buzz");
    if i % 3 == 0 and not i % 5 == 0:
        print(i, "Fizz");
    if i % 3 == 0 and i % 5 == 0:
        print(i, "FizzBuzz");
for i in range(1, 100+1):
    out = ""
    if i % 3 == 0:
        out += "Fizz"
    if i % 5 == 0:
        out += "Buzz"
    print(out or i)
n=1
while(n<=100):
    out=""
    if(n%3==0):
        out=out+"Fizz"
    if(n%5==0):
        out=out+"Buzz"
    if(out==""):
        out=out+str(n)
    print(out)
    n=n+1
for value in range(1, 101):
    string = ''
    if not value % 3:
        string += 'Fizz'
    if not value % 5:
        string += 'Buzz'
    print(string or value)
(1..100).each do |i|
  d3 = i % 3 == 0
  d5 = i % 5 == 0

  if d3 && d5
    puts "FizzBuzz"
  elsif d3
    puts "Fizz"
  elsif d5
    puts "Buzz"
  else
    puts "#{i}"
  end
end
for i in 1..101 {
    match i {
        i if (i % 15) == 0 => println!("FizzBuzz"),
        i if (i % 3) == 0 => println!("Fizz"),
        i if (i % 5) == 0 => println!("Buzz"),
        _ => println!("{i}"),
    }
}
1 to: 100 do: 
	[:ea | (ea isDivisibleBy: 15)
		ifTrue: [Transcript showln: 'FizzBuzz']
		ifFalse: [(ea isDivisibleBy: 5)
				ifTrue: [Transcript showln: 'Buzz']
				ifFalse: [(ea isDivisibleBy: 3)
						ifTrue: [Transcript showln: 'Fizz']
						ifFalse: [Transcript showln: ea]]]].