배경
λ 미적분 용어 시각화
유명한 람다 저글러 (및 코드 골퍼 ) 인 존 트롬 프 (John Tromp) 는 λ 미적분학에서 흥미로운 용어 시각화 를 고안했습니다 . 그의 말로 :
추상화 (람다)는 가로선, 바인딩 람다에서 나오는 세로선에 의한 변수 및 가장 왼쪽에있는 변수를 연결하는 가로 링크에 의한 응용으로 표시됩니다.
예를 들어, λf.λx.f (f (f (fx))) 람다는 시각화에 해당합니다.
-------------------
| | | |
-------------------
| | | | |
| | | |----
| | |----
| |----
|----
|
위에서 아래로 읽으십시오 :
- 첫 번째 수평선은 첫 번째 λ를 나타냅니다.
- 그로부터 내려 오는 4 개의 선 은 신체 의 fs를 나타냅니다 .
- 마찬가지로, 두 번째 수평선은 두 번째 λ를 나타내고 그 아래의 새 줄 은 본문 의 x 를 나타냅니다 .
- 가장 오른쪽의 f 라인과 x 라인은 어플리케이션 (f x)을 나타내는 수평선으로 연결됩니다 .
- 다음 애플리케이션은 (f (f x)) 입니다.
교회 숫자
교회 숫자는 다음과 같은 패턴을 고려하여 λ-수학의 용어의 특정 순서입니다 :
0 = λf. λx. x
1 = λf. λx. f x
2 = λf. λx. f (f x)
3 = λf. λx. f (f (f x))
...
직무
입력 번호 n이 주어지면 n 번째 교회 숫자 를 시각화하는 ASCII 아트를 인쇄하십시오 . 예를 들어, 위의 예는 n = 4 일 때의 목표 출력 입니다. 들어 N = 0 , 인쇄 :
---
---
|
|
테스트 사례
귀하의 답변은 모든 정수 입력에 대해이 스택 스 니펫과 정확히 동일한 텍스트 (모듈로 후행 줄 바꿈)를 출력해야합니다 n ≥ 0 :
이것은 코드 골프바이트 단위의 가장 짧은 코드가 이깁니다.
.repeat
.