Questa è una CMC (chat mini challenge) che ho pubblicato nella nostra chatroom, The Ninteenth Byte , un po 'di tempo fa.
La sfida
Dato un numero intero positivo x
, a seconda degli ultimi 2 bit di x
, procedi come segue:
x & 3 == 0: 0
x & 3 == 1: x + x
x & 3 == 2: x * x
x & 3 == 3: x ^ x (exponentiation)
Input Output
Single Integer -> Single Integer
Una nuova riga finale è consentita nell'output. Non sono ammessi altri spazi bianchi.
Casi test
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
Questa è una sfida di code-golf , quindi vince il codice più corto!
x ^ x
)? 32 bit non è già sufficiente per il test case 11
e 64 bit non è sufficiente per il test case 19
.
0
caso esserex + 2
, visto che gli altri sonox * 2
,x ^ 2
ex ^^ 2
(tetrazione)? : P