Sua tarefa é escrever um programa que, na entrada n, produz a expressão mínima de cada número 1 a n em ordem. O programa mais curto em bytes vence.
Uma expressão mínima combina 1's com adição e multiplicação para resultar no número especificado, usando o menor número possível de 1s. Por exemplo, 23
é expresso como 23=((1+1+1)(1+1)+1)(1+1+1)+1+1
onze, o que é mínimo.
Requisitos:
- O programa deve ter como entrada um número natural positivo n.
- A saída deve estar neste formato:
20 = ((1+1+1)(1+1+1)+1)(1+1)
- Sua saída pode não ter parênteses desnecessários, como
8 = ((1+1)(1+1))(1+1)
. - O sinal de multiplicação
*
é opcional. - Os espaços são opcionais.
- Você não precisa emitir todas as equações possíveis para um determinado valor: por exemplo, você tem a opção de emitir
4=1+1+1+1
ou4=(1+1)(1+1)
. Você não precisa produzir os dois. - O programa mais curto (em bytes) em cada idioma vence.
1 = 1 2 = 1 + 1 3 = 1 + 1 + 1 4 = 1 + 1 + 1 + 1 5 = 1 + 1 + 1 + 1 + 1 6 = (1 + 1 + 1) (1 + 1) 7 = (1 + 1 + 1) (1 + 1) +1 8 = (1 + 1 + 1 + 1) (1 + 1) 9 = (1 + 1 + 1) (1 + 1 + 1) 10 = (1 + 1 + 1) (1 + 1 + 1) +1 11 = (1 + 1 + 1) (1 + 1 + 1) + 1 + 1 12 = (1 + 1 + 1) (1 + 1) (1 + 1) 13 = (1 + 1 + 1) (1 + 1) (1 + 1) +1 14 = ((1 + 1 + 1) (1 + 1) +1) (1 + 1) 15 = (1 + 1 + 1 + 1 + 1) (1 + 1 + 1) 16 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) 17 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) +1 18 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) 19 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) +1 20 = ((1 + 1 + 1) (1 + 1 + 1) +1) (1 + 1)
Aqui estão mais alguns casos de teste: (lembre-se de que outras expressões com o mesmo número de 1s também são permitidas)
157=((1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1
444=((1+1+1)(1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)
1223=((1+1+1)(1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)(1+1+1+1+1)+1+1+1
15535=((((1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)((1+1+1)(1+1)+1)+1)(1+1+1)+1)(1+1+1)(1+1+1)+1
45197=((((1+1+1)(1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1+1)+1+1
Boa sorte! - A tartaruga 🐢
n=20
) e 2) você diz no início que a complexidade inteira, que é distinta da equação, deve ser exibida, mas você não inclui isso em qualquer um dos exemplos, exceto o primeiro.