Solução de Pedro Michael, comentários de Rogério Júnior
Clique aqui para ver a questão original.
A abordagem mais simples é a simulação. Para cada caso da entrada, simularemos o passar dos anos até que a população de $$A$$ ultrapasse a de $$B$$. Se passarmos dos $$100$$ anos, basta imprimirmos “mais de 1 seculo.”.
Primeiramente vamos ler o número de casos da entrada, salvá-lo em $$t$$ e usar um $$for$$ para repetirmos o algoritmo $$t$$ vezes. Em cada iteração do $$for$$ simularemos o crescimento das cidades apresentadas da seguinte forma: leremos os valores de $$PA, PB, G1$$ e $$ G2$$ e usaremos uma variável $$anos$$ de valor inicial $$0$$ para controlarmos a passagem do tempo. Usaremos um $$while$$ para simular cada ano. Logicamente, ele só deve se repetir enquanto $$PA \leq PB$$ e $$anos \leq 100$$. Em cada iteração dele, aumentaremos o valor de $$anos$$ em uma unidade (pois estamos simulando a passagem de 1 ano) e simularemos o crescimento de cada população, aumentando os valores esperados em $$PA$$ e $$PB$$ (em $$PA$$ aumentamos $$\frac{PA \times G1 }{100}$$ e em $$PB$$ aumentamos $$\frac{PB \times G2 }{100}$$.
Quando o $$while$$ terminar, basta vermos quantos anos se passaram. Se $$anos >100$$ então imprimimos uma linha com a frase “mais de 1 seculo.”. Caso contrário, imprimimos a frase “$$x$$ anos.”, onde $$x$$ é o valor da variável $$anos$$. Segue o código comentado para melhor entendimento.
https://gist.github.com/rogerioagjr/3d9091e3a4e578e74e27

Deixe um comentário