Nの整数正にかかるプログラムや関数を記述し、プリント又は戻り、その上半分からなる半円であるN×Nアスキーアート列(「その下半分からなる下向きの三角形でsおよびVs」は、とパディングとして使用されるスペース。
つまり、ASCIIアイスクリームコーンを作成します:(N = 17の出力)
(((((
(((((((((
(((((((((((((
(((((((((((((
(((((((((((((((
(((((((((((((((
(((((((((((((((((
(((((((((((((((((
VVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVV
VVVVVVVVVVVVV
VVVVVVVVVVV
VVVVVVVVV
VVVVVVV
VVVVV
VVV
V
例
N = 1〜5の出力を次に示します。奇数Nの場合、三角形は常に大きな半分でなければなりません。
V
((
VV
(((
VVV
V
((
((((
VVVV
VV
(((
(((((
VVVVV
VVV
V
そして、ここに未使用のPython 3リファレンス実装があります:
N = int(input())
ic = [[' '] * N for _ in range(N)]
for y in range(N//2):
for x in range(N):
if (x - (N - 1) / 2)**2 + (y - (N - 1) / 2)**2 < (N / 2)**2:
ic[y][x] = '('
for y in range(N//2, N):
for x in range(y - N//2, N - (y - N//2)):
ic[y][x] = 'V'
for line in ic:
print(''.join(line))
詳細
- stdin、コマンドライン、または関数の引数から入力を取得します。stdoutまたは同様のものへの出力、または関数を記述する場合は文字列を返すことができます。
- コーン部分は、すべてのNのリファレンス実装と正確に一致する必要があります。
- アイスクリーム部分は、すべてのNに対して明らかに半円の形状である限り、参照実装と完全に一致する必要はありません(これは、丸め誤差による半円のわずかな違いを心配する必要がないためです) )
- 不要な先行スペースはありませんが、余分な後続スペースが存在する場合があります。
- 出力には、オプションで末尾の改行を含めることができます。
- オプションで、、、およびスペースの代わりに
(、他の3つの印刷可能なASCII文字を使用できVます。