Catástrofe maltusiana
Thomas Malthus describió lo que hoy se conoce como una catástrofe maltusiana. Según él, la producción de alimentos aumenta en una cantidad fija, mientras que la población crece en un porcentaje. Por lo tanto, el suministro de alimentos pronto sería insuficiente para la población.
Tu tarea es determinar cuándo ocurrirá. Para este desafío, supón que una población de 1 necesita 1 unidad de producción de alimentos. Tanto la producción de alimentos como la población comienzan en 100. El año inicial es 0.
La catástrofe ocurre cuando la población supera la producción de alimentos.
El método recibirá:
foodGrowth— un número entero — el aumento anual de la producción de alimentos.populationMultiplier— un número de punto flotante — el multiplicador de crecimiento anual de la población.
##// Ejemplos
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 }##// Notas
- Devuelve el año en que la población supera la producción de alimentos, no el año siguiente.
- Asegúrate de no cometer el error de sumar un año y después calcular los cambios en la producción de alimentos y la población. Si lo haces así, omitirás el año 0.
- Si la población y la producción de alimentos son iguales, no se considera una catástrofe.
Ejemplo en Java
assertEquals(31, Program.malthusian(3900, 1.26));