INTERCAL로 약칭되는 약어가없는 컴파일러 언어 는 매우 고유 한 프로그래밍 언어입니다. 재현 할 수없는 특성 중에는 이진 연산자가 있습니다.
INTERCAL의 두 이항 연산자는 인터리브 (라고도 어울려 ), 및 선택 . 인터리브는 변경 (¢)으로 표시되고 select는 sqiggle (~)로 표시됩니다.
인터리브는 0-65535 범위에서 두 개의 숫자를 취하고 비트를 번갈아 사용합니다. 예를 들어 :
234 ¢ 4321
234 = 0000011101010
4321 = 1000011100001
Result: 01000000001111110010001001
Output: 16841865
Select는 0-65535 범위의 두 숫자를 취하여 두 번째 피연산자의 1과 동일한 위치에있는 첫 번째 피연산자의 비트를 가져 와서 해당 비트를 올바르게 패킹하여 작동합니다.
2345 ~ 7245
2345 = 0100100101001
7245 = 1110001001101
Taken : 010 0 10 1
Result: 0100101
Output: 37
이 도전에서는 인터리브 또는 선택 작업을 사용하여 이진식이 제공됩니다. 가능한 적은 바이트를 사용하여 결과를 계산해야합니다.
식은 공백으로 구분 된 문자열로 제공되며 0-65535의 정수, 공백 ¢
또는 또는 ~
공백, 0-65535의 정수로 구성됩니다.
입출력은 표준 시스템 (STDIN, 기능, 명령 행 등)을 통해 이루어질 수 있습니다. 표준 허점은 금지되었습니다.
예 :
5 ¢ 6
54
5 ~ 6
2
51234 ¢ 60003
4106492941
51234 ~ 60003
422
이것은 코드 골프입니다-가장 적은 바이트가 이깁니다. 행운을 빕니다.
편집 : 일부 언어는 INTERCAL의 변경 (¢) 기호를 지원하지 않으므로 대신 5 바이트 벌금에 큰 돈 ($) 기호를 사용할 수 있습니다.
$
.
FIVE ONE TWO THREE FOUR
되나요? 그리고 출력이 로마 숫자로 표시되어서는 안됩니까?