2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(やる気によって)まだまだ増えるよ!いろんなプログラミング言語でFizzBuzzを書く(現在50個)

Last updated at Posted at 2025-11-03

一部実行環境がどっか行ってたりして動作しなかったり、その道の人から怒られるところもあると思います。

もくじ

NET IL

fizzbuzz.il
.assembly fizzbuzz {}
.assembly extern mscorlib {}

.class public auto ansi beforefieldinit FizzBuzz extends [mscorlib]System.Object
{
    .method public hidebysig static void Main() cil managed
    {
        .entrypoint
        .maxstack 3
        .locals init ([0] int32 i)
        
        ldc.i4.1
        stloc.0
        
        br.s loop_condition
        
        loop_start:
            ldloc.0
            ldc.i4 15
            rem
            brfalse.s print_fizzbuzz
            
            ldloc.0
            ldc.i4.3
            rem
            brfalse.s print_fizz
            
            ldloc.0
            ldc.i4.5
            rem
            brfalse.s print_buzz
            
            ldloc.0
            call void [mscorlib]System.Console::WriteLine(int32)
            br.s increment
            
        print_fizzbuzz:
            ldstr "FizzBuzz"
            call void [mscorlib]System.Console::WriteLine(string)
            br.s increment
            
        print_fizz:
            ldstr "Fizz"
            call void [mscorlib]System.Console::WriteLine(string)
            br.s increment
            
        print_buzz:
            ldstr "Buzz"
            call void [mscorlib]System.Console::WriteLine(string)
            
        increment:
            ldloc.0
            ldc.i4.1
            add
            stloc.0
            
        loop_condition:
            ldloc.0
            ldc.i4 100
            ble.s loop_start
            
        ret
    }
    
    .method public hidebysig specialname rtspecialname instance void .ctor() cil managed
    {
        .maxstack 1
        ldarg.0
        call instance void [mscorlib]System.Object::.ctor()
        ret
    }
}    

どうやって目次をつければいいのか

A

fizzbuzz.a
An1WPP?!%n15OSFizzBuzz\:?!%n3OSFizz\:?!%n5OSBuzz\:On:::::OMc10An+1n
書くときはインデントを付けていた
fizzbuzz.a
An1
WPP
  ?!%n15
    OSFizzBuzz\:
    ?!%n3
      OSFizz\:
      ?!%n5
        OSBuzz\:
      On:::::
  OMc10
  An+1n

ActionScript

fizzbuzz.as
package {
    import flash.display.MovieClip;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;

    public class FizzBuzz extends MovieClip {

        public function FizzBuzz() {
            var output:TextField = new TextField();
            output.width = 400;
            output.autoSize = TextFieldAutoSize.LEFT;
            output.multiline = true;
            output.wordWrap = true;
            addChild(output);

            var result:String = "";

            for (var i:int = 1; i <= 100; i++) {
                if (i % 15 == 0) {
                    result += "FizzBuzz\n";
                } else if (i % 3 == 0) {
                    result += "Fizz\n";
                } else if (i % 5 == 0) {
                    result += "Buzz\n";
                } else {
                    result += i + "\n";
                }
            }

            output.text = result;
        }
    }
}

実行がめんどくさかったです。
あと見切れているけど出力は出来てるからヨシ!

Ada

fizzbuzz.ada
with Ada.Text_IO;
use Ada.Text_IO;

procedure FizzBuzz is
begin
   for I in 1 .. 100 loop
      if I mod 15 = 0 then
         Put_Line("FizzBuzz");
      elsif I mod 3 = 0 then
         Put_Line("Fizz");
      elsif I mod 5 = 0 then
         Put_Line("Buzz");
      else
         Put_Line(Integer'Image(I));
      end if;
   end loop;
end FizzBuzz;

微塵も覚えてない

AiScript

for (let i, 100) {
  <: if (i % 15 == 0) "FizzBuzz"
    elif (i % 3 == 0) "Fizz"
    elif (i % 5 == 0) "Buzz"
    else i
}

拡張子がわからぬ。10年くらい生まれるのが遅くて血迷った世界線のJavaScript

ALGOL

fizzbuzz.a69
BEGIN
  FOR i TO 100 DO
    IF   i MOD 15 = 0 THEN print("FizzBuzz")
    ELIF i MOD  3 = 0 THEN print("Fizz")
    ELIF i MOD  5 = 0 THEN print("Buzz")
    ELSE printf(($g(0)$, i))
    FI;
    print(newline)
  OD
END

味がある

Assembly

fizzbuzz.as
section .data
fizz db 'Fizz'
fizzlen equ $-fizz
buzz db 'Buzz'
buzzlen equ $-buzz
nl db 10

section .bss
buf resb 16

section .text
global _start

_print:
    push rcx
    push r11
    mov  rax,1
    mov  rdi,1
    syscall
    pop  r11
    pop  rcx
    ret

_num:
    mov  rdi,buf+15
    mov  byte [rdi],10
    mov  rax,rcx
    mov  rbx,10
    mov  r12,1
.conv:
    xor  rdx,rdx
    div  rbx
    add  rdx,'0'
    dec  rdi
    mov  [rdi],dl
    inc  r12
    test rax,rax
    jnz  .conv
    mov  rsi,rdi
    mov  rdx,r12
    call _print
    ret

_start:
    mov  rcx,1
.loop:
    mov  r8,0

    mov  rax,rcx
    xor  rdx,rdx
    mov  rbx,3
    div  rbx
    test rdx,rdx
    jne  .m5
    mov  rsi,fizz
    mov  rdx,fizzlen
    call _print
    mov  r8,1
.m5:
    mov  rax,rcx
    xor  rdx,rdx
    mov  rbx,5
    div  rbx
    test rdx,rdx
    jne  .num
    mov  rsi,buzz
    mov  rdx,buzzlen
    call _print
    mov  r8,1
.num:
    cmp  r8,1
    je   .nl
    call _num
    jmp  .end
.nl:
    mov  rsi,nl
    mov  rdx,1
    call _print
.end:
    inc  rcx
    cmp  rcx,101
    jne  .loop

    mov  rax,60
    xor  rdi,rdi
    syscall

nasmです。

APL

fizzbuzz.apl
_←{⎕←('FizzBuzz' 'Fizz' 'Buzz',⍵)[(0=15 3 5|⍵)⍳1]}¨⍳100

APL 1.9です。Unicodeになって時代が追い付いた

AppleScript

fizzbuzz.applescript
repeat with i from 1 to 100
    if i mod 15 = 0 then
        log "FizzBuzz"
    else if i mod 3 = 0 then
        log "Fizz"
    else if i mod 5 = 0 then
        log "Buzz"
    else
        log i
    end if
end repeat

macを持ってなかったらここで終わっていた……

awk

fizzbuzz.awk
BEGIN{
  for(;++i<=100;)
  print(i%15?i%5?i%3? i:"Fizz":"Buzz":"FizzBuzz")
}

たのちいね

Bash

fizzbuzz.sh
paste <(seq 100) <(yes Fizz|head -100) <(yes Buzz|head -100)|awk '{print($1%3?$1%5?$1:$3:$1%5?$2:$2$3)}'

いろんなコマンドに頼りたかった。

batch

fizzbuzz.bat
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,100) do (
    set s=
    set /a f=%%i%%3, b=%%i%%5
    if !f!==0 set s=Fizz
    if !b!==0 set s=!s!Buzz
    if "!s!"=="" set s=%%i
    echo !s!
)

んだこれ

BASIC

fizzbuzz.bas
For i As Integer = 1 To 100
    If i Mod 15 = 0 Then
        Print "FizzBuzz"
    ElseIf i Mod 3 = 0 Then
        Print "Fizz"
    ElseIf i Mod 5 = 0 Then
        Print "Buzz"
    Else
        Print i
    End If
Next i

freebasic1.10.1を使いました。

bc

fizzbuzz.bc
for(i=1;i<=100;i++)if(i%15==0)print"FizzBuzz\n"else if(i%3==0)print"Fizz\n"else if(i%5==0)print"Buzz\n"else print i,"\n"

C

fizzbuzz.c
#include <stdio.h>

int main() {
    for (int i = 1; i <= 100; i++) {
        int fizz = (i % 3 == 0);
        int buzz = (i % 5 == 0);

        if (fizz && buzz) {
            printf("FizzBuzz\n");
        } else if (fizz) {
            printf("Fizz\n");
        } else if (buzz) {
            printf("Buzz\n");
        } else {
            printf("%d\n", i);
        }
    }

    return 0;
}

普通ですね。

c3

c3

fizzbuzz.c3
import std::io;

fn void main()
{
    for (int i = 1; i < 101; i++)
    {
        if(i%15==0){
            io::printn("FizzBuzz");
        }else if(i%3==0){
            io::printn("Fizz");
        }else if(i%5==0){
            io::printn("Buzz");
        }else{
            io::printn(i);
        }
    }
}

C++

fizzbuzz.cpp
#include <iostream>
#include <string>

#define FIZZBUZZ_CHECK(n) \
    ((n) % 15 == 0 ? "FizzBuzz" : \
     (n) % 3 == 0 ? "Fizz" : \
     (n) % 5 == 0 ? "Buzz" : \
     std::to_string(n).c_str())

#define FIZZBUZZ_PRINT(n) std::cout << FIZZBUZZ_CHECK(n) << "\n"

#define FIZZBUZZ_10(start) \
    FIZZBUZZ_PRINT(start); FIZZBUZZ_PRINT(start+1); FIZZBUZZ_PRINT(start+2); \
    FIZZBUZZ_PRINT(start+3); FIZZBUZZ_PRINT(start+4); FIZZBUZZ_PRINT(start+5); \
    FIZZBUZZ_PRINT(start+6); FIZZBUZZ_PRINT(start+7); FIZZBUZZ_PRINT(start+8); \
    FIZZBUZZ_PRINT(start+9)

#define FIZZBUZZ_100() \
    FIZZBUZZ_10(1); FIZZBUZZ_10(11); FIZZBUZZ_10(21); FIZZBUZZ_10(31); \
    FIZZBUZZ_10(41); FIZZBUZZ_10(51); FIZZBUZZ_10(61); FIZZBUZZ_10(71); \
    FIZZBUZZ_10(81); FIZZBUZZ_10(91)

main(){FIZZBUZZ_100();}

ちょっと血迷ってるね私

C#

fizzbuzz.cs
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        var fizzBuzz = Enumerable.Range(1, 100)
            .Select(i => i % 15 == 0 ? "FizzBuzz" :
                        i % 3 == 0 ? "Fizz" :
                        i % 5 == 0 ? "Buzz" : i.ToString());
        
        foreach (var item in fizzBuzz)
        {
            Console.WriteLine(item);
        }
    }
}

cat

fizzbuzz.txt
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
FizzBuzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz

Carbon

fizzbuzz.carbon
package fizzbuzz;
import Core library "io";

fn Run()
{
    var i: i32 = 1;
    while (i<101) {
        if (i%15==0) {
            Core.PrintChar(70);
            Core.PrintChar(105);
            Core.PrintChar(122);
            Core.PrintChar(122);
            Core.PrintChar(66);
            Core.PrintChar(117);
            Core.PrintChar(122);
            Core.PrintChar(122);
            Core.PrintChar(10);
        } else if (i%3==0) {
            Core.PrintChar(70);
            Core.PrintChar(105);
            Core.PrintChar(122);
            Core.PrintChar(122);
            Core.PrintChar(10);
        } else if (i%5==0){
            Core.PrintChar(66);
            Core.PrintChar(117);
            Core.PrintChar(122);
            Core.PrintChar(122);
            Core.PrintChar(10);
        } else {
            Core.Print(i);
        }
        ++i;
    }
}

文字列どころか文字出力の関数が見つからなかった。carbon_toolchain-0.0.0-0.nightly.2025.07.09を使いました

Carp

fizzbuzz.carp
(use IO)
(use Int)

(defn main []
  (for [i 1 101 1]
    (cond
      (= (mod i 15) 0) (IO.println "FizzBuzz")
      (= (mod i 3) 0) (IO.println "Fizz")
      (= (mod i 5) 0) (IO.println "Buzz")
      (IO.println &(str i)))))

cLay

fizzbuzz.cpp
#include<bits/stdc++.h>
using namespace std;

int main(){
  for(int i = 1; i <= 100; i++) {
    string s = "";
    if(i % 3 == 0) s += "Fizz";
    if(i % 5 == 0) s += "Buzz";
    cout << (s.empty() ? to_string(i) : s) << endl;
  }
  
  return 0;
}

Clojure

fizzbuzz.clj
(defn fizzbuzz [n]
  (cond
    (zero? (mod n 15)) "FizzBuzz"
    (zero? (mod n 3))  "Fizz"
    (zero? (mod n 5))  "Buzz"
    :else              n))

(doseq [i (range 1 101)]
  (println (fizzbuzz i)))

ハイライトあるんだ

COBOL

fizzbuzz.cbl
IDENTIFICATION DIVISION.
PROGRAM-ID. FB.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 999.
PROCEDURE DIVISION.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 100
    IF FUNCTION MOD(I,15) = 0 DISPLAY "FizzBuzz"
    ELSE IF FUNCTION MOD(I,3) = 0 DISPLAY "Fizz"
    ELSE IF FUNCTION MOD(I,5) = 0 DISPLAY "Buzz"
    ELSE DISPLAY I
    END-IF
END-PERFORM.
STOP RUN.

CoffeeScript

fizzbuzz.coffee
for i in [1..100]
  if i % 15 is 0
    console.log "FizzBuzz"
  else if i % 3 is 0
    console.log "Fizz"
  else if i % 5 is 0
    console.log "Buzz"
  else
    console.log i

時代の敗北者

CommonLisp

fizzbuzz.lsp
(dotimes (i 100)
  (let ((n (1+ i)))
    (cond ((zerop (mod n 15)) (format t "FizzBuzz~%"))
          ((zerop (mod n 3))  (format t "Fizz~%"))
          ((zerop (mod n 5))  (format t "Buzz~%"))
          (t (format t "~D~%" n)))))

Crystal

fizzbuzz.cr
(1..100).each do |n|
  case
  when n % 15 == 0 then puts "FizzBuzz"
  when n % 3 == 0  then puts "Fizz"
  when n % 5 == 0  then puts "Buzz"
  else                  puts n
  end
end

Cyber

fizzbuzz.cy
for 1..101 -> i:
    if i % 3 == 0 and i % 5 == 0:
        print "FizzBuzz"
    else i % 3 == 0:
        print "Fizz"
    else i % 5 == 0:
        print "Buzz"
    else:
        print "$(i)"

cmake

CMakeLists.txt
foreach(i RANGE 1 100)
    math(EXPR mod3 "${i} % 3")
    math(EXPR mod5 "${i} % 5")
    set(out "")
    if(mod3 EQUAL 0)
        set(out "Fizz")
    endif()
    if(mod5 EQUAL 0)
        set(out "${out}Buzz")
    endif()
    if(out STREQUAL "")
        set(out "${i}")
    endif()
    message("${out}")
endforeach()

D

fizzbuzz.d
import std.stdio;

void main() {
    foreach (i; 1 .. 101) {
        if (i % 15 == 0)
            writeln("FizzBuzz");
        else if (i % 3 == 0)
            writeln("Fizz");
        else if (i % 5 == 0)
            writeln("Buzz");
        else
            writeln(i);
    }
}

Dart

fizzbuzz.dart
void main() {
  for (int i = 1; i <= 100; i++) {
    if (i % 15 == 0) {
      print('FizzBuzz');
    } else if (i % 3 == 0) {
      print('Fizz');
    } else if (i % 5 == 0) {
      print('Buzz');
    } else {
      print(i);
    }
  }
}

dc

fizzbuzz.dc
0si[[Fizz]n1sf]sF[[Buzz]n1sf]sB[lin]sN[li1+si0sfli3%0=Fli5%0=Blf0=N10Pli100>M]sMlMx

がんばった

Excel

=IF(MOD(ROW(),15)=0,"FizzBuzz",IF(MOD(ROW(),3)=0,"Fizz",IF(MOD(ROW(),5)=0,"Buzz",ROW())))

Eiffel

fizzbuzz.e
class
    FIZZBUZZ

create
    make

feature
    make
        local
            i: INTEGER
        do
            from
                i := 1
            until
                i > 100
            loop
                if i \\ 15 = 0 then
                    io.put_string ("FizzBuzz")
                elseif i \\ 3 = 0 then
                    io.put_string ("Fizz")
                elseif i \\ 5 = 0 then
                    io.put_string ("Buzz")
                else
                    io.put_integer (i)
                end
                io.put_new_line
                i := i + 1
            end
        end
end

EmacsLisp

(dotimes (i 100)
  (message "%s"
           (or (and (= 0 (mod (1+ i) 15)) "FizzBuzz")
               (and (= 0 (mod (1+ i) 3)) "Fizz")
               (and (= 0 (mod (1+ i) 5)) "Buzz")
               (number-to-string (1+ i)))))

Emojicode

fizzbuzz.emojic
🏁 🍇
  🔂 i 🆕⏩ 1 101❗️ 🍇
    ↪️ i 🚮 15 🙌 0 🍇
      😀 🔤FizzBuzz🔤❗️
    🍉
    🙅‍♀️↪️ i 🚮 3 🙌 0 🍇
      😀 🔤Fizz🔤❗️
    🍉
    🙅‍♀️↪️ i 🚮 5 🙌 0 🍇
      😀 🔤Buzz🔤❗️
    🍉
    🙅‍♀️ 🍇
      😀 🔡 i 10❗️❗️
    🍉
  🍉
🍉

拡張子は.🍇の説もある

Elixir

fizzbuzz.exs
1..100
|> Enum.map(fn
  i when rem(i, 15) == 0 -> "FizzBuzz"
  i when rem(i, 3) == 0 -> "Fizz"
  i when rem(i, 5) == 0 -> "Buzz"
  i -> Integer.to_string(i)
end)
|> Enum.each(&IO.puts/1)

Erlang

fizzbuzz.erl
-module(fizzbuzz).
-export([main/0]).

main() ->
    lists:foreach(fun fizzbuzz/1, lists:seq(1, 100)).

fizzbuzz(N) ->
    io:format("~s~n", [case {N rem 3, N rem 5} of
        {0, 0} -> "FizzBuzz";
        {0, _} -> "Fizz";
        {_, 0} -> "Buzz";
        _      -> integer_to_list(N)
    end]).

Factor

fizzbuzz.factor
USING: io math sequences prettyprint ;

1 100 [a..b] [
    {
        { [ dup 15 mod zero? ] [ drop "FizzBuzz" ] }
        { [ dup 3 mod zero? ]  [ drop "Fizz" ] }
        { [ dup 5 mod zero? ]  [ drop "Buzz" ] }
        [ number>string ]
    } cond
    print
] each

fish

fizzbuzz.fish
for i in (seq 1 100)
    if test (math "$i % 15") -eq 0
        echo "FizzBuzz"
    else if test (math "$i % 3") -eq 0
        echo "Fizz"
    else if test (math "$i % 5") -eq 0
        echo "Buzz"
    else
        echo $i
    end
end

シェルの方

Forth

: fizzbuzz 101 1 do
  i 15 mod 0= if ." FizzBuzz " else
  i 3 mod 0= if ." Fizz " else
  i 5 mod 0= if ." Buzz " else
  i . then then then cr loop ;
fizzbuzz

Haskell

fizzbuzz.hs
putStr $ unlines $ map (\n -> let f = take (4 * (1 - signum (n `mod` 3))) "Fizz"; b = take (4 * (1 - signum (n `mod` 5))) "Buzz"; fb = f ++ b in [show n, fb] !! signum (length fb)) [1..100]

jq

range(1;101)|if .%15<1 then "FizzBuzz" elif .%3<1 then "Fizz" elif .%5<1 then "Buzz" else . end

PostScript

fizzbuzz.ps
%!PS-Adobe-3.0
1 1 100 {
  dup 15 mod 0 eq {
    pop
    (FizzBuzz) ==
  } {
    dup 3 mod 0 eq {
      pop
      (Fizz) ==
    } {
      dup 5 mod 0 eq {
        pop
        (Buzz) ==
      } {
        ==
      } ifelse
    } ifelse
  } ifelse
} for

PowerShell

fizzbuzz.ps1
1..100|%{
    $r=@('Fizz')[$_%3-ne0]+@('Buzz')[$_%5-ne0]
    if($r){$r}else{$_}
}

SQL

WITH RECURSIVE n(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM n WHERE x<100)
SELECT CASE WHEN x%15=0 THEN 'FizzBuzz' WHEN x%3=0 THEN 'Fizz' WHEN x%5=0 THEN 'Buzz' ELSE x END FROM n;

TeX

fizzbuzz.tex
\def\print#1{\immediate\write16{#1}}
\newcount\i
\newcount\tmp
\newcount\modthree
\newcount\modfive
\i=1
\loop \ifnum \i<101
\modthree=\i \tmp=\i \divide\tmp by 3 \multiply\tmp by 3 \advance\modthree by -\tmp
\modfive=\i \tmp=\i \divide\tmp by 5 \multiply\tmp by 5 \advance\modfive by -\tmp
\ifnum \modthree=0 \ifnum \modfive=0 \print{FizzBuzz}\else \print{Fizz}\fi \else \ifnum \modfive=0 \print{Buzz}\else \print{\the\i}\fi \fi
\advance\i by 1 \repeat
\end

vim

100o<Esc>gg2jqqAFizz<Esc>3jq32@qgg4jqqABuzz<Esc>5jq19@q:%s/^$/\=line('.')<CR>

Verilog

fizzbuzz.v
module fizzbuzz_tb;
    integer i;

    initial begin

        for (i = 1; i <= 100; i = i + 1) begin
            case ({i % 15 == 0, i % 3 == 0, i % 5 == 0})
                3'b100: $display("FizzBuzz");
                3'b010: $display("Fizz");
                3'b001: $display("Buzz");
                default: $display("%0d", i);
            endcase
        end

        $finish;
    end
endmodule

プロデル

1から100まで現在位置に1ずつカウントしながら繰り返す
    もし現在位置を15で割った余りが0なら
        「FizzBuzz」と表示
    他でもし現在位置を5で割った余りが0なら
        「Buzz」と表示
    他で現在位置を3で割った余りが0なら
        「Fizz」と表示
    そうでなければ現在位置を表示
    もし終わり
繰り返し終
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?