FizzBuzz

ちょっと遊んでみた。

うーん、自分で書いておいて何をしているのかさっぱりわからん。schemeのzipはなにげにつかいづらい。 gosh> (map (lambda (x) (let ((y (fold string-append "" (map (lambda (z) (if (= (modulo x (car z)) 0) (cadr z) "")) '((5 "Buzz") (3 "Fizz"))))))…

haskellに惚れた一瞬

haskellによるFizzBuzz別解。zipWith3とcycleで気持ちよく組めました。 putStr$concat$zipWith3 (\x y z->(if x++y=="" then show z else x++y)++"\n") (cycle ["","","Fizz"] )(cycle ["","","","","Buzz"])[1..100] 嫌なんだけど mapM_の方が短くなるな。…

perlとphpとjavascript(spidermonkey)のコードを同じにしてみた。

■[FizzBuzz]Perl と PHP で一緒に FizzBuzzなんとなく構文が似ていたので、ムシャクシャしてやった。perl -e'for($i=1;$iFizz":"Buzz":"FizzBuzz")."\n");}' php -r'for($i=1;$iFizz":"Buzz":"FizzBuzz")."\n");}' の方にコメントもらったので、さらにspider…

javascriptで書いてみた。

spidermoney版 for(i=1;i<16;++i){print((i%3<1?"Fizz":"")+(i%5<1?"Buzz":"")||i)} ブックマークレット版 javascript:(function(){for(i=1;i<101;++i){document.write(((i%3<1?"Fizz":"")+(i%5<1?"Buzz":"")||i)+"<br />\n")};document.close();})();どうも、以下…

Cで書いてみた。

普通に組むと面白くないので。 ワンライナーでやってみる(笑 $ echo 'main(){int i;for(i=1;i<101;++i){if(i%3>0&&i%5>0)printf("%d",i);printf("%s%s\n",i%3<1?"Fizz":"",i%5<1?"Buzz":"");}}'>a.c;gcc -w a.c;./a.out;rm a.c a.out昔じゃ考えられないくら…

pascalで書いてみた。

か、完全に忘れてる。どこで;が省略可能とか最後のendの後の.とかif文がブロックの時にはbegin endとか。情けない。 program fizzbuzz; var i : integer; begin for i:=1 to 100 do begin if i mod 15 = 0 then writeln("FizzBuzz") else if i mod 3 = 0 the…

batで作ってみた。

飽きもせずwin上のbat @echo off set i=1 :loop :echo %i% set /a m=%i%%%15 if %m%==0 goto :15 set /a m=%i%%%3 if %m%==0 goto :3 set /a m=%i%%%5 if %m%==0 goto :5 echo %i% :return set /a i=%i%+1 if %i%==101 goto :exit goto :loop :15 echo FizzB…

haskellでやってみた。

bashよりも恥ずかしい状況に(涙文字列変換関数showを覚えていなかった。あと改行コードを足すのがあまりにも恥ずかしい。猛省。 a = [1..100] main = do putStr $ concatMap fizzBuzz a fizzBuzz :: Int -> String fizzBuzz c = if c `mod` 15 == 0 then "Fi…

php版

これももらい物 for($i=1; $i<=100 ; $i++){ if($i % 15 == 0) { echo "FizzBuzz"; }elseif($i % 3 == 0){ echo "Fizz"; }elseif($i % 5 == 0){ echo "Buzz"; }else{ echo $i; } echo "\n" ; }もひとつ for($i=1;$i<=100;$i++){echo($i%3?($i%5?$i:"Buzz"):(…

gauchでやったもらい物

忘れないようにここにおいておく。一つめ (define (fizz-buzz) (let loop ((i 1)) (cond ((= (remainder i 15) 0) (print "FizzBuzz")) ((= (remainder i 3) 0) (print "Fizz")) ((= (remainder i 5) 0) (print "Buzz")) (#t (print i)) ) (if (< i 100) (lo…

bashでやってみた

性懲りもなく今度はbash。あまり上手じゃないのでマニュアルとお友達モード $ for i in $(seq 1 100); do if [ $(($i%15)) = 0 ];then echo "FizzBuzz"; elif [ $(($i%3)) = 0 ];then echo "Fizz";elif [ $(($i%5)) = 0 ];then echo "Buzz";else echo $i;fi;…

perlで組んでみた。

なんか調子に乗ってるな。 perlのmap調べて 文字列連結が+じゃなくて.なのを忘れてた。(ここがperlの悪いところ。) map{(($_%3==0?"Fizz":"").($_%5==0?"Buzz":""))||$_}(1..100)うつくしい、perlに戻ろうかな。(大嘘) $_に入るのはさすがperl。と思った…