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 11e 64 bits não é suficiente para o caso de teste 19.
0caso sejax + 2, vendo como os outros sãox * 2,x ^ 2ex ^^ 2(tetração)? : P