To jest CMC (mini-wyzwanie na czacie), które opublikowałem nieco wcześniej w naszym czacie, The Ninteenth Byte .
Wyzwanie
Biorąc pod uwagę dodatnią liczbę całkowitą x
, w zależności od 2 ostatnich bitów x
, wykonaj następujące czynności:
x & 3 == 0: 0
x & 3 == 1: x + x
x & 3 == 2: x * x
x & 3 == 3: x ^ x (exponentiation)
Wejście wyjście
Single Integer -> Single Integer
Końcowy znak nowej linii jest dozwolony w danych wyjściowych. Żadne inne białe znaki nie są dozwolone.
Przypadki testowe
input output
1 2
2 4
3 27
4 0
5 10
6 36
7 823543
8 0
9 18
10 100
11 285311670611
12 0
To wyzwanie dla golfa , więc wygrywa najkrótszy kod!
x ^ x
)? Wersja 32-bitowa nie jest już wystarczająca dla przypadku testowego 11
, a wersja 64-bitowa nie wystarcza dla przypadku testowego 19
.
0
przypadek byćx + 2
, skoro, jak inni sąx * 2
,x ^ 2
ix ^^ 2
(tetracja)? : P