算譜王におれはなる!!!!

偏りはあると思うけど情報技術全般についてマイペースに書くよ。

流行りのFizzBuzzをやってみたよ〜

最近、Twitterのタイムライン上でFizzBuzzが大流行!
FizzBuzzと言えば、プログラミング初級者のための練習用のクイズです。

1から数えて行き、3の倍数のときには"Fizz"、5の倍数のときには"Buzz"、3の倍数かつ5の倍数のときは"FizzBuzz"と数字の代わりに表示するという簡単なプログラムです。

せっかくなので流行に乗って、FizzBuzzを書いてみました。
このような簡単なプログラムでも、書き方に個性が表れるのがプログラミングの面白いところですね♪

Javaによる実装

public class FizzBuzz {
	public static void main(String[] args) {
		for(int i = 0; i < 100; i++) {
			final int number = (i + 1);
			final boolean fizz = (number % 3 == 0);
			final boolean buzz = (number % 5 == 0);
			
			if(fizz) {
				System.out.print("Fizz");
			}
			
			if(buzz) {
				System.out.println("Buzz");
			} else {
				if(fizz) {
					System.out.println();
				} else {
					System.out.println(number);
				}
			}
		}
	}
}

Groovyによるワンライナー

for(i in 1..100)println(((a=i%3)?"":"Fizz")+(i%5?(a?i:""):"Buzz"))

Dartによるワンライナー

main(){var n;for(int i= 0;i<100;print(n+(i%5?(n?"":i):"Buzz")))n=(++i%3)?"":"Fizz";}

Dartはつい先日Googleから発表された新しい言語です。
詳細はDart: Structured web apps

工夫したりルールを制限したりすると面白い

上記のようにワンライナーであったり、できるだけ短いコードで書き上げるというのも面白いです。
また、%(剰余演算子)を使わないで解く、といったルールの制限も燃えますね!
ぜひみなさんもチャンレジしてみてください(^▽^)/