Dada uma sequência de caracteres em +=-
que há pelo menos um =
, insira números inteiros positivos entre todos os símbolos e no início e no final, de modo que as equações matemáticas sejam atendidas.
Por exemplo, dada a entrada
+-=-=
você precisa inserir números inteiros positivos A a F como este
A+B-C=D-E=F
de tal modo que as equações são satisfeitas, isto é, A + B - C
e D - E
e F
são todos o mesmo número.
Existem muitas maneiras possíveis de fazer isso, pois, desde que as equações funcionem, qualquer conjunto de números inteiros positivos pode ser usado. Cada linha aqui é uma saída válida possível para entrada +-=-=
:
2+3-4=6-5=1
1+1-1=2-1=1
4+2-4=4-2=2
100+1-10=182-91=91
89+231-77=1024-781=243
Observe que o valor das expressões não precisa ser um número inteiro positivo como os números inseridos. Por exemplo, dada a entrada, -=-
as saídas 1-10=8-17
(avaliações para -9) e 10-1=17-8
(avaliações para 9) são igualmente válidas. Obviamente, para algumas entradas, como =
é impossível ter uma expressão negativa, uma vez que apenas números positivos como 5=5
podem ser inseridos.
Observe também que zero não é um número inteiro positivo.
O código mais curto em bytes vence.
Você pode exibir os números como uma lista em vez de inseri-los diretamente na string. Se você imprimir a sequência, poderá haver espaços separando símbolos e números. Então, para entrada +-=-=
, saída
2, 3, 4, 6, 5, 1
ou
2 + 3 - 4 = 6 - 5 = 1
é equivalente a saída
2+3-4=6-5=1
Casos de teste
Input | One Possible Output
= | 1=1
== | 2=2=2
+= | 1+3=4
=+ | 2=1+1
-= | 30-10=20
=- | 1=2-1
=-= | 3=7-4=3
=+= | 2=1+1=2
=== | 100=100=100=100
+=- | 3+2=7-2
-=+ | 7-2=3+2
+=+ | 3+3=3+3
-=- | 1-10=8-17
--= | 60-1-1=58
++= | 60+1+1=62
-+= | 60-9+1=52
+-= | 60+9-1=68
+-=-= | 2+3-4=6-5=1
--=-- | 2-1-1=2-1-1
==-== | 47=47=50-3=47=47
=++=+-=-+=--= | 3=1+1+1=3+1-1=1-1+3=5-1-1=3
+--++-=-+-+- | 35+10-16-29+20+107-1000=5-4+3-2+1-876
====== | 8=8=8=8=8=8=8