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.
0przypadek byćx + 2, skoro, jak inni sąx * 2,x ^ 2ix ^^ 2(tetracja)? : P