Il linguaggio del compilatore senza acronimo pronunciabile, abbreviato INTERCAL , è un linguaggio di programmazione davvero unico. Tra le sue qualità non riproducibili ci sono i suoi operatori binari.
I due operatori binari di INTERCAL sono interleave (noto anche come mingle ) e selezionano . Interleave è rappresentato con un cambiamento (¢) e select è rappresentato con un sqiggle (~).
Interleave funziona prendendo due numeri nell'intervallo 0-65535 e alternandone i bit. Per esempio:
234 ¢ 4321
234 = 0000011101010
4321 = 1000011100001
Result: 01000000001111110010001001
Output: 16841865
Selezionare le opere prendendo due numeri nell'intervallo 0-65535, prendendo i bit nel primo operando che si trovano nella stessa posizione di 1s nel secondo operando e impacchettando a destra quei bit.
2345 ~ 7245
2345 = 0100100101001
7245 = 1110001001101
Taken : 010 0 10 1
Result: 0100101
Output: 37
In questa sfida, ti verrà data un'espressione binaria usando l'operazione interleave o select. È necessario calcolare il risultato, utilizzando il minor numero possibile di byte.
L'espressione verrà data come una stringa separata da spazio, composta da un numero intero in 0-65535, uno spazio, o ¢o ~, uno spazio e un numero intero in 0-65535.
L'input e l'output possono avvenire attraverso qualsiasi sistema standard (STDIN, funzione, riga di comando, ecc.). Scappatoie standard vietate.
Esempi:
5 ¢ 6
54
5 ~ 6
2
51234 ¢ 60003
4106492941
51234 ~ 60003
422
Questo è il codice golf - vince meno byte. In bocca al lupo.
MODIFICA: poiché alcune lingue non supportano il simbolo di cambio (¢) di INTERCAL, è possibile utilizzare invece il simbolo di denaro grande ($), con una penalità di 5 byte.
$.
FIVE ONE TWO THREE FOUR? E l'output non dovrebbe essere in numeri romani?