;# FizzBuzz Test ;# ;# ;# ;# -*- coding: CP932 -*- ;# charset="CP932"; ;# encoding="CP932"; #!/usr/bin/env abc # ABC # ABC # FOR i IN {1..100}: IF i MOD 3 = 0: WRITE "Fizz" IF i MOD 5 = 0: WRITE "Buzz" IF (i MOD 3) * (i MOD 5) > 0: WRITE i WRITE / #!/usr/bin/awk -f # AWK # Awk.Info # One True AWK (nawk) # GNU AWK (gawk) BEGIN { for (i = 1; i <= 100; i++) print (z = (i % 3 ? "" : "Fizz")(i % 5 ? "" : "Buzz")) ? z : i; } #!/usr/bin/env basic '' N88-BASIC 10 FOR I = 1 TO 100 : F = I MOD 3 : B = I MOD 5 20 IF F = 0 THEN PRINT "Fizz"; 30 IF B = 0 THEN PRINT "Buzz"; 40 IF F * B > 0 THEN PRINT I; 50 PRINT, 60 NEXT 70 PRINT #!/usr/bin/env basic '' BASIC '' Chipmunk Basic for i = 1 to 100 : f = i mod 3 : b = i mod 5 if f = 0 then print "Fizz"; if b = 0 then print "Buzz"; if f * b > 0 then print i; print, next print quit #!/usr/bin/env bwbasic '' Bywater BASIC Interpreter for i = 1 to 100 : f = i mod 3 : b = i mod 5 if f = 0 then print "Fizz"; if b = 0 then print "Buzz"; if f * b > 0 then print i; print next quit #!/usr/bin/env yabasic '' Yet another Basic for i = 1 to 100 : f = mod(i, 3) : b = mod(i, 5) if f = 0 print "Fizz"; if b = 0 print "Buzz"; if f * b > 0 print i; print next #!/usr/bin/env ferite // Ferite // Ferite uses "console"; for (number i = 1; i <= 100; i++) { i % 3 * i % 5 and Console.print(i); i % 3 or Console.print("Fizz"); i % 5 or Console.print("Buzz"); Console.println(""); } #!/usr/bin/env forth \ Forth \ Forth \ 101 1 DO i . i 3 MOD 0 = IF ." Fizz" THEN i 5 MOD 0 = IF ." Buzz" THEN LOOP #!/usr/bin/env icon # Icon # Icon procedure main() local i, z every i := 1 to 100 do { z := "" i % 3 = 0 & z ||:= "Fizz" i % 5 = 0 & z ||:= "Buzz" *z = 0 & z := i write(z) } end exit() #!/usr/bin/env js // JavaScript // spidermonkey for (var i = 1; i <= 100; i++) print((i % 3 ? "" : "Fizz") + (i % 5 ? "" : "Buzz") || i); quit(); #!/usr/bin/env lua -- Lua -- Lua for i = 1, 100 do z = (i % 3 ~= 0 and "" or "Fizz") .. (i % 5 ~= 0 and "" or "Buzz") print(z ~= "" and z or i) end os.exit() #!/usr/bin/env perl # Perl # Perl ($\, $,) = ($/, ","); print map { ("Fizz")[$_ % 3] . ("Buzz")[$_ % 5] or $_ } 1 .. 100; __END__ #!/usr/bin/env python # Python # Python # print [i % 3 / 2 * "Fizz" + i % 5 / 4 * "Buzz" or -~i for i in range(100)] # print ["Fizz" * (i % 3 < 1) + "Buzz" * (i % 5 < 1) or i for i in range(1, 101)] # print ["FizzBuzz"[(i % 3 > 0) * 4:(i % 5 < 1) * 4 + 4] or i for i in range(1, 101)] import sys sys.exit() #!/usr/bin/env tclsh # Tcl # Tcl/Tk for {set i 1} {$i <= 100} {incr i} { if {$i % 3 == 0} { puts -nonewline {Fizz} } if {$i % 5 == 0} { puts -nonewline {Buzz} } if {$i % 3 * $i % 5 > 0} { puts -nonewline $i } puts {} } #!/bin/sh gcc < * GCC * MPW C * Metrowerks CodeWarrior C */ main() { int i; for (i = 1; i <= 100; i++) printf(printf("%s%s", i % 3 ? "" : "Fizz", i % 5 ? "" : "Buzz") ? "\n" : "%d\n", i); } EOL #!/bin/sh gpc < *) (* Free Pascal *) (* GNU Pascal Compiler *) (* MPW Pascal *) (* Metrowerks CodeWarrior Pascal *) (* Think Pascal 4.5 *) } program FizzBuzz (input, output); var i : integer; begin for i := 1 to 100 do begin if (i mod 3 = 0) then write('Fizz'); if (i mod 5 = 0) then write('Buzz'); if (i mod 3) * (i mod 5) > 0 then write(i : 1); writeln; end; end. EOL # Shell Script #!/bin/dash # Almquist Shell # Debian Almquist shell for i in $(jot 100); # or seq do [ $(($i % 3)) -eq 0 ] && echo -n Fizz; [ $(($i % 5)) -eq 0 ] && echo -n Buzz; [ $(($i % 3)) -ne 0 -a $(($i % 5)) -ne 0 ] && echo -n $i; echo; done #!/bin/bash # Bourne Shell # Bourne Again Shell for (( i = 1; i <= 100; i++ )); do [ $[$i % 3] -eq 0 ] && echo -n Fizz; [ $[$i % 5] -eq 0 ] && echo -n Buzz; [ $[$i % 3] -ne 0 -a $[$i % 5] -ne 0 ] && echo -n $i; echo; done #!/bin/zsh # Z shell for i in {1..100}; do echo -n $i "\r"; # [ $[$i % 3] -eq 0 ] && echo -n Fizz; [ $[$i % 5] -eq 0 ] && echo -n Buzz; echo; done #!/bin/sh # Whitespace # Whitespace # # tr 'TSL' '\t \n' <fizzbuzz.ws; wspace fizzbuzz.ws SSSTLLSSSSLSLSSLSSSSTSTLTSTTSLTSSSTTLTSTTSLSLTSSSSLLSSSTLSLTLTSSTSLLTSTS SLSTLSTLSSTSLSSSTSSSSSLTLSSSSSTLTSSSSLSSSSTTSSTSTLTSSTLTTSSLSLLLLLLSSSSS SSSTTSTSSTLSSSTSSSTTSLLSTTSSLLSLSTLLSSSTSLSSSTTTSTSTLSSSTSSSSTSLLSTTSSLS LLSLTSLLSSTSSLTLSSTLSSSSSTTTTSTSLSLSTLSSTLSSLT EOL #!/usr/bin/osascript (* -- AppleScript -- AppleScript *) {} returning fizzbuzz repeat with i from 1 to 100 {i mod 3 = 0, i mod 5 = 0, ""} returning {x, y, fizzbuzz's end} tell fizzbuzz if x then "Fizz" returning item i if y then item i & "Buzz" returning item i if item i is "" then i returning item i end tell end repeat fizzbuzz -- implicit(ˆÃ–Ù‚Ì) get /bin/sh exit; -- HyperCard -- HyperCard ====================================================================== the stack script of "FizzBuzz" as HyperTalk ====================================================================== function fizzBuzz _ repeat with i = 1 to 100 get item (i mod 3 + 1) of "Fizz" & item (i mod 5 + 1) of "Buzz" if it is empty then get i put it into item i of _ end repeat return _ end fizzBuzz on openStack if there is not a cd fld 1 then doMenu "New Field" set the rect of cd fld 1 to 0,0,the width of cd window,the height of cd window set the fixedLineHeight of cd fld 1 to true set the textFont of cd fld 1 to 3 -- "Geneva" choose tool 1 put fizzBuzz() into cd fld 1 end openStack on closeStack if there is a cd fld 1 then put empty into cd fld 1 -- if the freeSize of this stack > 0 then doMenu "Compact Stack" end closeStack