도전
우리는 모두 정상적인 크리스마스 트리에 대해 알고 있지만 거꾸로 된 크리스마스 트리는 어떻 습니까 ! 이것은 매우 쉬운 크리스마스 테마 도전입니다. 이 과제의 목표는 ASCII 거꾸로 크리스마스 트리를 만드는 것입니다. 이 도전에 대한 규칙은 다음과 같습니다.
- 홀수, 양의 정수를 허용하십시오. 당신은 항상 사이가 될 것입니다 가정 할 수
7
와51
. 나무의 밑면은 문자로 구성됩니다.
___ \ / |
나무의 꼭대기 (별)는 하나의로 구성
*
됩니다.트리의 각 라인은 형식을 사용하여 구성됩니다 임의의 수입니다 들. 예를 들어 length 줄을 만드는 경우 줄은 이어야합니다 . 또는 줄을 길게 만들면 줄이되어야합니다 .
<?>
?
-
5
<--->
8
<------>
다음은 나무의 몸체를 구성하는 방법입니다.
n
입력으로 주어진 홀수를 취하고 그 길이의 트리를 만듭니다.빼기
4
에서n
그 길이 나무의 라인을 만들 수 있습니다.빼기
2
에서n
그 길이 나무의 라인을 만들 수 있습니다.감소
n
에 의해2
. 그런 다음n
같지5
않으면 2 단계로 돌아가십시오.
기본 (2 단계 참조) 별 (3 단계 참조)과 트리의 각 줄 (4 단계 및 5 단계 참조)은 모두 원래 홀수 입력 (1 단계 참조)을 최대로 사용하여 중앙에 있어야합니다 . 폭.
예제 / 테스트 사례
odd number inputed: 7
___
\ /
|
<-----> line length -> 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 13
___
\ /
|
<-----------> line length -> 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 9
___
\ /
|
<-------> line length -> 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 17
___
\ /
|
<---------------> line length -> 17
<-----------> line length -> 17 - 4 = 13
<-------------> line length -> 17 - 2 = 15
<---------> line length -> 15 - 4 = 11
<-----------> line length -> 15 - 2 = 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
규칙
- 표준 허점이 적용됩니다 .
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다!
repeat the above steps until the odd number minus 2 equals 5
- 첫 번째 입력에, 홀수 따라서 나무가 즉시 종료한다, 7, = 5 (7-2)입니다 (난 당신이 무슨 뜻인지,하지만 문구를 수정 필요가)
7
최소 입력 인 경우 먼저 세 개의 트리 라인 (하위 단계 .1.1, .1.2, .1.3)을 만든 다음2
홀수에서 빼고 같은지 테스트합니다 5
. "홀수-빼기 2가 5와 같은지"확인하기위한 명령이 마지막에 있으면 다른 세 단계를 먼저 수행해야합니다. 그러나 첫 번째 의견에 대답하면 괜찮을 것입니다.
7
와 같이 입력 으로 수락 해야하는지 또는 수락 할 수 있는지 묻고 있다고 생각합니다 . 4
3