
Epidemia
Retirado da OBI Nível Júnior de 2023
Verificação de Aprendizagem: Avalie sua compreensão. Tente resolver sem consultar materiais, usando apenas seu conhecimento. Identifique áreas que precisam de revisão.Enunciado
Uma nova pandemia é sempre possível (e temida), mas a experiência recente mostrou que atualmente a ciência é capaz de desenvolver vacinas eficazes em muito pouco tempo. Outra consequência da pandemia recente é que muito se estudou sobre epidemias em geral, e vários modelos matemáticos foram desenvolvidos.
Neste problema vamos usar um modelo simples de epidemia:
- Quando uma pessoa é infectada, ela infecta outras R pessoas, mas apenas no dia seguinte à sua infecção (R é chamado de fator reprodutivo da infecção).
- Ninguém é infectado mais do que uma vez.
Por exemplo, se no dia 0 da epidemia 3 pessoas são infectadas e o fator reprodutivo R é igual a 2, então no dia 1 outras 6 pessoas são infectadas (3 + 6 = 9 pessoas no total), no dia 2 outras 12 pessoas são infectadas (3 + 6 + 12 = 21 pessoas no total), no dia 3 outras 24 pessoas infectadas (3 + 6 + 12 + 24 = 45 pessoas no total), e assim por diante.
Dados o número inicial de pessoas infectadas no dia 0 e o fator reprodutivo R da epidemia, escreva um programa para determinar qual o número de dias necessários para a epidemia infectar P ou mais pessoas no total.
Entrada Três inteiros representando, respectivamente, N, o número de pessoas infectadas no dia 0; R, o fator reprodutivo da infecção; P, o número alvo de pessoas a serem infectadas.
Saída: Um inteiro representando o número de dias necessários para que o total de pessoas infectadas atinja ou ultrapasse P.
Example:
dias_para_epidemia(1, 5, 156) >> 3 dias_para_epidemia(2, 1, 11) >> 5
Habilidades
- Acumulação de Valores
- Controle de Fluxo e Iteração
- Raciocínio Lógico Avançado