친구의 생일이자 프로그래머이자 ASCII 예술 애호가이므로 ASCII 케이크로 만들 것이라고 생각했습니다!
슬프게도, 나는 그의 현재 나이를 계속 잊어 버렸습니다. 따라서 ASCII 오븐을위한 프로그램을 만들고 싶습니다.이 프로그램은 지정된 양의 촛불로 케이크를 굽습니다. 나이.
ASCII 오븐은 메모리 및 저장 용량이 제한되어 있으므로 가능한 최소 바이트를 사용해야 합니다 .
당신의 작업 :
생일 케이크를 콘솔에 출력하는 프로그램을 입력하십시오.
케이크 요구 사항은 다음과 같습니다
- 가로
-
및 세로|
선과 정점으로 구성된 테두리가 있어야합니다+
. - 5 자 너비의 이스트 라스트 (케이크 테두리 포함
|
) - Atleast 5 자 높이 (케이크 테두리 포함
-
) 해당 공간에 불꽃이있는 경우를 제외하고 케이크 테두리와 첫 번째 양초 바닥 (화염 아님) 사이에 공백 문자 가 있어야합니다. 불꽃이나 양초 받침대가 케이크 테두리와 겹치지 않아야합니다.
- 케이크의 최대 너비는 9 자이므로 행당 최대 5 개의 양초가 있습니다.
- 우리는 케이크가 2 차원 적이기를 원하지 않기 때문에, 약간의 부피를 주려면 여분의 2 행이어야합니다. 아래쪽에 다른 테두리를 추가하고 위의 ASCII 문자를 사용하여 정점을 그 위에있는 정점과 다시 연결하십시오 (
-
,|
및+
).
양초 요구 사항은 다음과 같습니다.
- 받침대
|
와 불꽃 으로 구성*
되며 불꽃이 받침대 위에 쌓입니다. - 양초는 대각선을 제외하고 서로 직접 인접하지 않을 수 있습니다.
- 양초는 왼쪽에서 오른쪽으로 배치 한 다음 위에서 아래로 배치하며 최대 한 줄에 5 개가 배치됩니다.
(참고 : 이전 행에 5 개의 양초가 있으면 다음 행에 5 개의 양초가있을 수 있으므로 인접 해있을 수 있습니다.)
추가 사항 :
- 케이크 너비는 첫 번째 행 의 양초 수에 따라 다르지만 최소 5 자, 최대 9 자 여야합니다.
- 양초는 맨 위 줄부터 왼쪽에서 오른쪽으로 채워집니다. 한 행이 가득 찬 경우 다음 행은 첫 번째 행 아래의 행에서 시작해야합니다.
입력:
원하는 (합리적인) 형식의 숫자를 사용할 수 있습니다.
이 도전 에 대해이 나이를 가진 사람을 인정하지 않더라도 숫자는 0과 2 31 사이에 있다고 가정 할 수 있습니다 (0 제외).
산출:
문자열을 반환하거나 결과 케이크를 출력 콘솔에 직접 쓸 수 있습니다.
규칙 :
예 :
입력: 8
+-----------+
| * * * * * |
| |*|*|*| | |
| | | | |
| |
+-----------+
| |
+-----------+
입력: 2
+-----+
| * * |
| | | |
| |
+-----+
| |
+-----+
입력: 12
+-----------+
| * * * * * |
| |*|*|*|*| |
| *|*|*| | |
| | | | |
| |
+-----------+
| |
+-----------+
행운을 빕니다!