Solução Informática – Nível Iniciante – Semana 14

por

Solução por Anita Ramos

Para este problema temos várias soluções possíveis. Irei apresentar a que considero mais simples, que utiliza comandos básicos e envolve mais lógica.

Iniciando a programação então, após declarar a biblioteca e as variáveis utilizadas, o programa lê a primeira linha de entrada e logo em seguida já calcula qual a soma “ideal” de todas as peças. Por exemplo, a soma ideal para $$N=5$$ é $$1+2+3+4+5=15$$ e para $$N=9$$ é $$1+2+3+4+5+6+7+8+9=45$$. Essa soma pode ser calculada facilmente com a ideia de “pares opostos”. Por exemplo, para se calcular a soma de todos os números no intervalo de $$1$$ a $$10$$, podemos dividir em pares de soma $$11$$: $$(1,10), (2,9), (3,8), (4,7), (6,5)$$, totalizando $$5$$ pares $$(10/2)$$ de valor $$11$$. A partir disso, determinamos a seguinte equação para achar a soma ideal para $$N$$ par: $$Soma Ideal = (N+1)*(N/2)$$. Para $$N$$ ímpar, porém, não é possível formar $$5$$ pares, por exemplo. Mas outra equação pode ser determinada. Utilizemos $$N=1$$ como exemplo. Nesse caso, teremos as seguintes subdivisões: $$(1,11), (2,10), (3,9), (4,8), (5,7), (6)$$, totalizando $$5$$ pares e meio. Pensando sobre o resultado, é como se $$11/2$$ desse $$6$$. Como armazenamos $$padrao$$ como inteiro, $$11/2$$ na verdade é $$5$$ e, por isso, somamos $$1$$ a divisão, para chegar a $$6$$.

Depois, lemos a segunda linha de entrada com um loop de duração $$N-1$$ e a cada número lido, ele é somado a “soma real”, ou seja, a soma em que falta um peça.

Por fim, fica fácil encontrar o número da peça perdida. Basta subtrair a soma ideal da soma real e imprimir o resultado.

Segue o código comentado para melhor compreensão da solução:

https://gist.github.com/anitainfo/40c980efdfe7e243ffe9c41e753c9a3f