前書き
あなたの仕事は、正確に次の出力を生成することです。
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
チャレンジ
このチャレンジはFizz Buzzチャレンジに基づいており、要約すると次のようになります。1から100までの数字をそれぞれの行に出力しますが、数字が3の倍数である場合は、「Fizz」元の番号、5の倍数の場合、元の番号の代わりに「バズ」を出力する必要があります。数値が15の倍数である場合、元の数値の代わりに「FizzBuzz」を出力する必要があります。
ただし、上記の要件に加えて、スペースを使用して各行をインデントし、すべての列に一意の文字(スペースと改行を除く)のみが含まれるようにする必要があります。各行の先頭に追加するスペースは、各列に一意の文字が含まれる前にすべての行を表示するために最低限必要です。
例えば、1,2,Fizz,4
彼らはすでに各列のユニークな文字(:列1持っているので、任意のインデントを必要としない12F4
、COLUMN2:i
、COLUMN3: z
:、column4 をz
、しかし、追加するとき)Buzz
それ以外の場合は、我々は2必要があるため、私たちは二つのスペースでインデントに必要なz
のは3列目と4列目の両方に。目標を達成するには2つのスペースで十分なので、3つのスペースでインデントしないでください。7
また8
、インデントは必要ありませんが、出力するとき11
は、1番目の列に1
。13
1番目、2番目、3番目の列にはすべてがあるため、3つのスペースでインデントする必要があり1
ます。残りの行のインデントも同じ規則に従います。
チャレンジを簡単にするために、上限が50に変更されました。
スペック
プログラムまたは関数を作成できます。どちらも空でない入力を受け付けません。空の入力を入力しても問題ありません。
これはKCの課題であるため、「はじめに」セクションで指定されているとおりに出力を生成する必要があります。単一の末尾の改行で問題ありません。見出しの改行や余分な見出しスペースはありません。各行に余分な後続スペースはありません。
STDOUTが仕様に準拠している限り、プログラムはエラーで終了するか、空でないSTDERR出力を持つことができます。
これは言語内です code-golfであり、バイト数が最も少ないプログラムがその言語で勝ちます。
デフォルトの抜け穴が適用されます。