Em geral, uma equação linear começará com y = mx + b, onde bestá o seu valor inicial e mxé como você ajusta o valor inicial à medida que xaumenta.
Portanto, a primeira parte da sua equação, a b, será 10porque 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 / 10retorno 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 / 10fazendas. 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 = 11que 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).