단일 8 비트 값에서 작동하는 간단한 언어를 정의 해 봅시다. 세 가지 비트 연산을 정의합니다 (코드 설명에서는 8 비트 value
변수로 가정 ).
!
최하위 비트 무효화 (value ^= 1
)<
왼쪽 시프트 줄 바꿈 (value = value << 1 | value >> 7
)>
오른쪽 시프트 줄 바꿈 (value = value >> 1 | value << 7
)
입력:
2 개의 8 비트 숫자, 와 B . 그것들은 8 비트이므로 문자로 사용할 수 있습니다.
산출:
위에서 정의한 세 가지 연산을 사용하여 a에서 b로가는 가장 짧은 방법입니다. 문자열 또는 문자 배열을 반환하거나 각 작업에 대해 일정하고 고유 한 값을 정의하고 해당 배열을 반환 할 수 있습니다 (예, <
평균 >
및 >
방법 이라고도 함 <
). 출력 형식을 답으로 설명하십시오.
똑같이 긴 방법이 여러 개 있으면 그 중 일부 또는 전부를 출력 할 수 있습니다.
규칙 :
- 프로그램이나 기능을 제출할 수 있습니다
- 표준 허점 적용
- 각 언어에서 가장 적은 바이트 로 제출하면 승리합니다 (답변은 허용되지 않습니다)
무차별 강요가없는 솔루션 (또는 적어도 무차별 강요 만이 아닌)은 저의 공감을 얻을 수 있습니다.
테스트 사례 :
12, 13 => '!'
1, 2 => '<'
254, 253 => '<'
5, 5 => ''
98, 226 -> '<!>'
64, 154 -> '!>!>>>!>'
177, 164 -> '!>>!>>>!'
109, 11 -> '>>!>!>>'
126, 92 -> '!>!>!>!<' or '!>!>>!<!'
26, 85 -> '<!<<!<!<' or '<!<<!<!>' or '<!<<<!>!'
123, 241 -> '!>!<<!' or '>!<!<!'
236, 50 -> '<<!<!>' or '<<<!>!'
59, 246 -> '<<!>'
132, 95 -> '!<<!<!<!'
74, 53 -> '!>>>!>!'
171, 127 -> '<<!<<!<'
109, 141 -> '!>>>'
185, 92 -> '!>'
166, 201 -> '!<!>>>' or '<!>!>>'
77, 155 -> '<!'
124, 181 -> '!<<<<!>>' or '!>>>>!>>'
108, 85 -> '!<<<!<!<!<' or '!<<<!<!<!>' or '!<<<!<<!>!' or '!>>>!>!>!<' or '!>>>!>!>!>' or '!>>>!>>!<!'
185, 144 -> '<!<<!<!'
70, 179 -> '<<<!<!>' or '<<<<!>!' or '>>>>!>!'
다음 은 몇 가지를 더 생성하는 프로그램입니다.