문자 "H"와 "I"가 매우 비슷한 점이 매력적입니다. "H"는 두 개의 수직 스트로크로 둘러싸인 수평 스트로크입니다. "I"는 두 개의 수평 스트로크 (글꼴에 따라 다름)로 둘러싸인 수직 스트로크입니다. 나는 이것이 중첩 될 수 내기 ... 내 생각 나게 알아? 프랙탈 !!!
"IHIH"피라미드를 다음과 같이 정의 해 봅시다 : 첫 번째 반복은 문자 "I"의 ASCII 표현입니다.
---
|
---
다음 반복은 양쪽에 수직 스트로크가 있습니다.
| |
|---|
| | |
|---|
| |
가운데의 "I"를 단일 수평 스트로크로 보면이 두 번째 반복은 기본적으로 "H"입니다. 세 번째 반복은 상단과 하단에 수평 스트로크를 추가합니다
-------
| |
|---|
| | |
|---|
| |
-------
다시 한 번, 가운데의 "H"를 단일 수직 스트로크로 보면이 반복은 기본적으로 "I"입니다. 이 패턴은 반복 할 때마다 "H"와 "I"가 교대로 계속됩니다. 참고로, 처음 6 개의 반복이 있습니다.
1:
---
|
---
2:
| |
|---|
| | |
|---|
| |
3:
-------
| |
|---|
| | |
|---|
| |
-------
4:
| |
|-------|
| | | |
| |---| |
| | | | |
| |---| |
| | | |
|-------|
| |
5:
-----------
| |
|-------|
| | | |
| |---| |
| | | | |
| |---| |
| | | |
|-------|
| |
-----------
6:
| |
|-----------|
| | | |
| |-------| |
| | | | | |
| | |---| | |
| | | | | | |
| | |---| | |
| | | | | |
| |-------| |
| | | |
|-----------|
| |
도전 과제 :
IHIH 피라미드 의 N 번째 반복 및 선택적인 후행 줄 바꿈 을 출력하는 프로그램 또는 함수를 작성하십시오 . 입력은 원하는 형식으로 된 양의 정수입니다. 유효하지 않은 입력, 예를 들어, 정수가 아닌 숫자, 1보다 작은 숫자 등을 처리 할 필요는 없습니다. 프로그램은 최소한 20 개까지의 입력에 대해 올바른 출력을 생성해야합니다. 이것은 코드 골프 이므로 표준 허점은 허용되지 않습니다 바이트 단위의 최단 답변이 이깁니다!