양의 정수 N을받는 프로그램 또는 함수를 작성하고, 상단 절반은로 이루어진 반원 (
이고 하단 반은 아래쪽을 가리키는 삼각형 인 NxN ASCII 아트 문자열을 인쇄하거나 반환합니다.V
' 패딩으로 사용되는 공백.
즉, 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
그리고 다음은 ungolfed 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
그리고 공간.