Catástrofe malthusiana
Thomas Malthus descreveu o que hoje é conhecido como uma catástrofe malthusiana. Segundo ele, a produção de alimentos aumenta em uma quantidade fixa, enquanto a população cresce em uma porcentagem. Portanto, a oferta de alimentos logo seria insuficiente para a população.
Sua tarefa é descobrir quando isso ocorrerá. Neste desafio, suponha que uma população de 1 precise de 1 unidade de produção de alimentos. Tanto a produção de alimentos quanto a população começam em 100. O ano inicial é 0.
A catástrofe ocorre quando a população ultrapassa a produção de alimentos.
O método receberá:
foodGrowth— um número inteiro — o aumento anual da produção de alimentos.populationMultiplier— um número de ponto flutuante — o multiplicador de crescimento anual da população.
##// Exemplos
malthusian(4255, 1.41) ➞ 20
// { food_prod: 85,200, pop: 96,467.77..., year: 20 }
malthusian(9433, 1.09) ➞ 107
// { food_prod: 1,009,431, pop: 1,010,730.28..., year: 107 }
malthusian(5879, 1.77) ➞ 12
// { food_prod: 70,648, pop: 94,553.84..., year: 12 }##// Observações
- Retorne o ano em que a população ultrapassa a produção de alimentos, e não o ano seguinte.
- Não cometa o erro de acrescentar um ano e depois calcular as mudanças na produção de alimentos e na população. Se fizer isso, você deixará de considerar o ano 0.
- Se a população e a produção de alimentos forem iguais, isso não será uma catástrofe.
Exemplo em Java
assertEquals(31, Program.malthusian(3900, 1.26));