O quebra - cabeça de quatro quatros é um quebra-cabeça matemático recreativo popular que envolve o uso exato de quatro 4s (e nenhum outro número) e um conjunto definido de operações para atingir cada número de 0 a um determinado máximo.
Nesta versão, os únicos operadores a seguir são permitidos:
- Quaisquer símbolos de agrupamento podem ser usados
- Adição (
+
), Subtração (-
), Multiplicação (*
), Divisão (/
) - Fatorial (
!
), Função gama (Γ
) - Exponenciação (
^
), Raiz quadrada (√
) - Concatenação (por exemplo,
44
é dois4
s) - Ponto decimal (por exemplo,
4.4
dois4
s), Overbar (por exemplo.4~ = 4/9
)
A ordem padrão de operações se aplica.
Seu programa deve gerar, dada uma entrada entre 0 e 100 inclusive, uma solução correta para essa entrada. Se o programa gerar uma solução inválida para qualquer entrada, esse programa é inválido.
Por exemplo, com uma entrada de 0
, seu programa pode gerar 44-44
.
O uso de módulos externos não é permitido. Somente _.4~
é permitido para o operador da barra de barra - ou seja, apenas um 4
pode estar atrás do ponto decimal.
Isso é código de golfe, então a solução mais curta vence.
Editar : Para ser mais claro, o programa deve gerar um conjunto das operações acima aplicadas a exatamente quatro 4
s - nem mais nem menos. Além disso, .4 = 4/10
é um termo válido e conta como usando apenas um 4
.
!(4)
vez de (4)!
)?