006 - Extension FizzBuzz 10
時間制限 1 秒 / メモリ制限 64 MB / 得点 200 / x 0 /
問題
自明 証明したり特に詳しく説明したりするまでもなく明らかなこと。
FizzBuzzとは、
有る値Nが3で割り切れるとき"Fizz"を、5で割り切れるとき"Buzz"を、双方で割り切れるときは"FizzBuzz"を言うものである。
割り切れない場合はNそのものを言う。
なお、「割り切れる」は任意の正整数の除数aと被除数b、余りを出す演算子%で表現した時b%a==0となることを言う。
0で除算した場合は「割り切れない」とする。
例えば、3や12は"Fizz"と、5や550は"Buzz"と、15や45は"FizzBuzz"と出力する。
これを、1からXまで繰り返す。それが本来のFizzBuzzである。
ここではFizzBuzzを少し拡張し、Aで割り切れたらFizzを、Bで割り切れたらBuzzを、双方で割り切れるときは"FizzBuzz"を言うものとする。
かつ、有る値Nの各桁のいずれかにAがあれば"Fizz"を、Bがあれば"Buzz"を双方あれば"FizzBuzz"という。
なお、Aが含まれながらAで割り切れる場合は"Fizz"1つのみで構わない。
例えばA=3、B=5のとき、N=30は"FizzBuzz"であるがN=35でも"FizzBuzz"である。
入力
値X、A、Bが空白区切りで与えられる出力
1からXに対する拡張FizzBuzzに乗っ取った出力をせよ。各行ごとの改行を忘れずに。
制約
- 1 ≤ $X$ ≤ 105
- 0 ≤ $A$,$B$ ≤ 9
入出力例
例1
入力
40 3 5
出力
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz Fizz 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 Fizz Fizz Buzz 26 Fizz 28 29 FizzBuzz Fizz Fizz Fizz Fizz FizzBuzz Fizz Fizz Fizz Fizz Buzz見てわかるとおり、A=3の倍数ではないが、Aが含まれている値のときは"Fizz"が出力されている。
例1
入力
20 7 0
出力
1 2 3 4 5 6 Fizz 8 9 Buzz 11 12 13 Fizz 15 16 Fizz 18 19 BuzzA,Bの値が0になる場合はあるが、0で割るとRE(ランタイムエラー)になるため注意。