공백 , 84 바이트
[S S S T S S S S S N
_Push_32][S N
S _Duplicate][T N
S S _Print_as_character][S N
S _Duplicate][T N
T T _Read_STDIN_as_integer][T T T _Retrieve][S S S T N
_Push_1][T S S T _Subtract][S N
S _Duplicate][N
T S N
_If_0_Jump_to_Label_EXIT][S S S T S S T N
_Push_9][T N
S S Print_as_character][S S S T N
_Push_1][T S S T _Subtract][N
T S N
_If_0_Jump_to_Label_EXIT][S S S T S T S N
_Push_10][T N
S S _Print_as_character][N
S S N
_Create_Label_EXIT]
문자 S
(공백), T
(탭) 및 N
(줄 바꾸기)가 강조 표시로만 추가되었습니다.
[..._some_action]
설명으로 만 추가되었습니다.
공백은 공백, 탭 및 줄 바꾸기의 세 가지 유효한 '키워드'만 포함합니다.
의사 코드의 설명 :
Print space
Integer i = STDIN as integer - 1
If i is 0:
Exit program
Else:
Print tab
i = i - 1
If i is 0:
Exit program
Else:
Print new-line
Exit program
예제 실행 :
입력: 1
Command Explanation Stack Heap STDIN STDOUT STDERR
SSSTSSSSSN Push 32 [32]
SNS Duplicate top (32) [32,32]
TNSS Print as character [32] <space>
SNS Duplicate top (32) [32,32]
TNTT Read STDIN as integer [32] {32:1} 1
TTT Retrieve [1] {32:1}
SSSTN Push 1 [1,1] {32:1}
TSST Subtract top two (1-1) [0] {32:1}
SNS Duplicate top (0) [0,0] {32:1}
NTSN If 0: Jump to Label_EXIT [0] {32:1}
NSSN Create Label_EXIT [0] {32:1}
error
프로그램이 오류와 함께 중지됩니다 : 종료가 정의되지 않았습니다.
온라인으로 시도하십시오 (원시 공백, 탭 및 줄 바꾸기 만).
단일 공간을 출력합니다.
입력: 2
Command Explanation Stack Heap STDIN STDOUT STDERR
SSSTSSSSSN Push 32 [32]
SNS Duplicate top (32) [32,32]
TNSS Print as character [32] <space>
SNS Duplicate top (32) [32,32]
TNTT Read STDIN as integer [32] {32:2} 2
TTT Retrieve [2] {32:2}
SSSTN Push 1 [2,1] {32:2}
TSST Subtract top two (2-1) [1] {32:2}
SNS Duplicate top (1) [1,1] {32:2}
NTSN If 0: Jump to Label_EXIT [1] {32:2}
SSSTSSTN Push 9 [1,9] {32:2}
TNSS Print as character [1] {32:2} \t
SSSTN Push 1 [1,1] {32:2}
TSST Subtract top two (1-1) [0] {32:2}
NTSN If 0: Jump to Label_EXIT [] {32:2}
NSSN Create Label_EXIT [] {32:2}
error
프로그램이 오류와 함께 중지됩니다 : 종료가 정의되지 않았습니다.
온라인으로 시도하십시오 (원시 공백, 탭 및 줄 바꾸기 만).
공백을 출력 한 다음 탭을 출력합니다.
입력 : 3
(이상)
Command Explanation Stack Heap STDIN STDOUT STDERR
SSSTSSSSSN Push 32 [32]
SNS Duplicate top (32) [32,32]
TNSS Print as character [32] <space>
SNS Duplicate top (32) [32,32]
TNTT Read STDIN as integer [32] {32:3} 3
TTT Retrieve [3] {32:3}
SSSTN Push 1 [3,1] {32:3}
TSST Subtract top two (3-1) [2] {32:3}
SNS Duplicate top (2) [2,2] {32:3}
NTSN If 0: Jump to Label_EXIT [2] {32:3}
SSSTSSTN Push 9 [2,9] {32:3}
TNSS Print as character [2] {32:3} \t
SSSTN Push 1 [2,1] {32:3}
TSST Subtract top two (2-1) [1] {32:3}
SSSTSTSN Push 10 [1,10] {32:3}
TNSS Print as character [1] {32:3} \n
NSSN Create Label_EXIT [] {32:3}
error
프로그램이 오류와 함께 중지됩니다 : 종료가 정의되지 않았습니다.
온라인으로 시도하십시오 (원시 공백, 탭 및 줄 바꾸기 만).
공백과 탭, 줄 바꾸기를 출력합니다.