와이즈 는 내가 디자인 한 간단한 비트 언어입니다. 그것은 파이썬의 비트 연산을 기반으로 합니다 . 여기에는 몇 가지 작업이 있으며 대부분의 작업은 Python의 해당 기호와 동일하거나 매우 유사합니다.
:
스택 상단 복제?
스택 상단을 하단으로 회전!
스택 하단을 상단으로 회전[
]
스택의 상단이 0이 아닌 동안 루프~
스택의 상단이 아님 (-(n+1)
)-
스택 상단을 무효화합니다 (-n
)>
스택 상단을 오른쪽으로 한 번 비트 시프트 (n//2
)<
스택 상단을 왼쪽으로 한 번 비트 시프트 (n*2
)^
x 또는 스택의 상위 두 항목 ( Python과 동일 )|
또는 스택의 상위 2 개 항목 ( Python과 동일 )&
스택의 상위 2 개 항목 ( Python과 동일 )
Wise에서 정수를 만드는 것은 매우 간단합니다 .0으로 ::^
만들고 증가 시킬 수 ~-
있으므로 0으로 만들고 여러 번 증가시킵니다. 그러나 우리가 -
물건 을 제거하면 조금 더 흥미로워집니다.
나머지 작업을 사용하여 모든 번호를 만들 수 있습니다. 예를 들어 여기 3입니다
~<<~
이것은 ~
무한 0
비트 열 인 0 을 음수 비트, 무한한 비트 열로 바꾸고 , 끝에 비트를 추가 하기 때문에 끝날 때 1
마다 비트를 s 의 문자열로 바꾸고 두 개의 s 로 바꿉니다. 또는 대부분의 사람들이 3이라고 부릅니다.<
0
~
0
1
직무
양의 정수가 주어지면 소스 (출력 소스, 자신의 소스에서 사용할 수 있음) n
없이 숫자 를 생성하는 Wise 프로그램을 출력하는 프로그램을 작성하십시오 . 스택 맨 위에 이미 0이 있다고 가정 할 수 있습니다.-
-
이것은 메타 골프가 아닌 코드 골프 이므로 반드시 출력이 아닌 생성 소스 코드를 최소화하는 것을 목표로 해야합니다.
출력 예
이 목록은 완전한 것이 아니며 단순히 가능한 출력입니다.
1 -> ~<~
2 -> ~<~<
3 -> ~<<~
4 -> ~<~<<
5 -> ~<~:<<|
6 -> ~<<~<
7 -> ~<<<~
8 -> ~<~<<<
9 -> ~<~:<<<|
10 -> ~<~:<<|<
11 -> ~<<~:><<<|
12 -> ~<<~<<
13 -> ~<<~:<<<|>
14 -> ~<<<~<
15 -> ~<<<<~
16 -> ~<~<<<<
:
빈 스택이 되겠습니다에 적용 0
. 빈 스택에서 복제해야한다는 것이 확실하지 않기 때문에 이것이 지정되어야한다고 생각합니다.0
positive integers