Fizz-Buzz問題

ってのがあって。

1から100までの整数を表示するプログラムを書け。
ただし、3の倍数のときは「Fizz」、5の倍数のときは「Buzz」、
3と5の倍数のときには「FizzBuzz」を数の代わりに表示する。

数分で書けないのならプログラマとして駄目らしい。
如何にも、問題は単純で時間も掛からず出来そうなんですよね。
という訳でやってみる。

#include

int main(void){
	int i;
	for(i=1;i<101;i++){
		if(i%3==0 || i%5==0){
			if(i%3==0) printf("Fizz");
			if(i%5==0) printf("Buzz");
		}else{
			printf("%3d", i);
		}
	printf("\n");
	}
	return 0;
}

これだと簡単すぎるので、剰余を使わないなんて縛りもあるらしいのですが。
小一時間考えてもどうにも長いコードになりそうなので、
答えをググってみたら、出力を15周期として順々に表示するというやり方だった。
そんなに単純なものなのか。


これ応用して、3と5を任意の整数にしても面白いかと思ったけど、そんなこともなかったか。