Este é um CMC (mini desafio de bate-papo) que eu publiquei em nossa sala de chat, The Ninteenth Byte , um pouco atrás.
O desafio
Dado um número inteiro positivo x
, dependendo dos últimos 2 bits de x
, faça o seguinte:
x & 3 == 0: 0
x & 3 == 1: x + x
x & 3 == 2: x * x
x & 3 == 3: x ^ x (exponentiation)
Entrada / Saída
Single Integer -> Single Integer
Uma nova linha à direita é permitida na saída. Nenhum outro espaço em branco é permitido.
Casos de teste
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
Este é um desafio do código-golfe , portanto o código mais curto vence!
x ^ x
)? 32 bits já não é suficiente para o caso de teste 11
e 64 bits não é suficiente para o caso de teste 19
.
0
caso sejax + 2
, vendo como os outros sãox * 2
,x ^ 2
ex ^^ 2
(tetração)? : P