JavaScriptで適当に考えてみた。
試行錯誤などにかなり時間をかけていたので、しっかりとしたプログラマにはほど遠そうである。
オーソドックスに
<html> <head> <title>FizzBuzz 1</title> </head> <body> </body> <script type="text/javascript"><!-- var strAns; for(i=1; i<101; i++) { // なんでもなければ strAns = i; // 3の倍数の時 if((i%3) == 0) { strAns = "Fizz"; } // 5の倍数の時 if((i%5) == 0) { strAns = "Buzz"; } // 3の倍数でかつ5の倍数の時 if(((i%3) == 0) && ((i%5) == 0)) { strAns = "FizzBuzz"; } // strAnsの出力 document.write(strAns); document.write("<br>"); } //--></script> </html>
カウンタまみれ
<html> <head> <title>FizzBuzz 2</title> </head> <body> </body> <script type="text/javascript"><!-- var numFor; var numCnt1 = 0; var numCnt2 = 0; var numCnt3 = 0; var strAns; for(numFor = 1; numFor < 101; numFor++) { numCnt1++; numCnt2++; numCnt3++; strAns = numFor; if(numCnt1 == 3) { strAns = "Fizz"; numCnt1 = 0; } if(numCnt2 == 5) { strAns = "Buzz"; numCnt2 = 0; } if(numCnt3 == 15) { strAns = "FizzBuzz"; numCnt3 = 0; } document.write(strAns); document.write("<br>"); } //--></script> </html>
ちとシンプルに
<html> <head> <title>FizzBuzz 3</title> </head> <body> </body> <script type="text/javascript"><!-- var numFor; var numCnt = 0; for(numFor = 0; numFor < 100; numFor++) { numCnt = numFor + 1; if(numCnt%3 == 0) { document.write("Fizz"); } else if(numCnt%5 == 0) { document.write("Buzz"); } else if(numCnt%15 == 0) { document.write("FizzBuzz") } else { document.write(numCnt); } document.write("<br>"); } //--></script> </html>
括弧やら何やら削って圧縮
<html> <head> <title>FizzBuzz 4</title> </head> <body> </body> <script type="text/javascript"><!-- var numFor; var numCnt = 0; for(numFor = 1; numFor < 101; numFor++) { if(numFor % 3 == 0) document.write("Fizz"); else if(numFor % 5 == 0) document.write("Buzz"); else if(numFor % 15 == 0) document.write("FizzBuzz"); else document.write(numFor); document.write("<BR>"); } //--></script> </html>