Em geral, uma equação linear começará com y = mx + b
, onde b
está o seu valor inicial e mx
é como você ajusta o valor inicial à medida que x
aumenta.
Portanto, a primeira parte da sua equação, a b
, será 10
porque você deseja que as fazendas comecem com 10 alimentos.
y = mx + 10
Em seguida, no seu caso, você deseja ajustar os alimentos produzidos a cada dez fazendas. Portanto, você precisará dividir por dez para obter uma equação que funcione para cada dez farms (assumindo que o x / 10
retorno seja um número inteiro, ou seja 13 / 10 = 1
:
y = m * (x / 10) + 10.
Então, finalmente, precisamos descobrir como queremos que os alimentos mudem para todas as x / 10
fazendas. No seu caso, você deseja diminuir em 0,5 (5% de 10), o que é linear. Então temos:
y = -0.5 * ( x / 10 ) + 10.
Então, para a fazenda x = 5
, chegamos 5 / 10 = 0, 0 * -0.5 = 0, 0 + 10 = 10
. Para a fazenda x = 11
que obtemos 11 / 10 = 1, 1 * -0.5 = -0.5, -0.5 + 10 = 9.5
, para a fazenda 23, obteríamos 9,0.
Então você só precisa calcular o total de alimentos para todas as fazendas.
y = 0
for( x = 0; x < totalFarms; x++ )
{
y += -5 * ( x / 10 ) + 10;
}
Mas talvez você em 5%, você queira diminuir em 5% do valor anterior. Ou seja, 10, 10 * 0.95 = 9.5, 9.5 * 0.95 = 9.025
(nesse caso, a quantidade que diminuímos fica cada vez menor). Então, vamos modificar a equação. 5%
é um aumento do tipo exponencial e a fórmula exponencial é y = b*m^x
.
Ainda temos b = 10
, e precisamos dividir por 10 truques. Então nós temos y = 10*m^(x/10)
. m
é 0.95
, pois queremos receber 95% do valor de cada vez. Então a equação para fazenda x
é y = 10*0.95^(x/10)
.