In generale, inizierà un'equazione lineare y = mx + b
, dove si b
trova il valore iniziale, ed mx
è come si regola il valore iniziale x
all'aumentare.
Quindi la prima parte della tua equazione, la b
, sarà 10
perché vuoi che le fattorie inizino con 10 alimenti.
y = mx + 10
Successivamente, nel tuo caso, vuoi regolare il cibo prodotto da ogni dieci fattorie. Quindi dovrai dividere per dieci per ottenere un'equazione che funzioni per ogni dieci fattorie (supponendo che x / 10
restituisca un numero intero, ovvero 13 / 10 = 1
:
y = m * (x / 10) + 10.
Quindi, alla fine, dobbiamo capire come vogliamo che il cibo cambi per ogni x / 10
fattoria. Nel tuo caso, vuoi che diminuisca di 0,5 (5% di 10), che è lineare. Quindi otteniamo:
y = -0.5 * ( x / 10 ) + 10.
Quindi per la fattoria x = 5
, otteniamo 5 / 10 = 0, 0 * -0.5 = 0, 0 + 10 = 10
. Per la fattoria x = 11
otteniamo 11 / 10 = 1, 1 * -0.5 = -0.5, -0.5 + 10 = 9.5
, per la fattoria 23 otterremmo 9.0.
Quindi devi solo calcolare il cibo totale per tutte le aziende agricole.
y = 0
for( x = 0; x < totalFarms; x++ )
{
y += -5 * ( x / 10 ) + 10;
}
Ma forse tu del 5%, volevi che diminuisse del 5% del valore precedente. Vale a dire, 10, 10 * 0.95 = 9.5, 9.5 * 0.95 = 9.025
(in questo caso, l'importo che diminuiamo diventa sempre meno). Quindi, consente di modificare l'equazione. 5%
è un aumento di tipo esponenziale e la formula esponenziale è y = b*m^x
.
Abbiamo ancora b = 10
, e dobbiamo fare la nostra divisione per 10 trucco. Quindi abbiamo y = 10*m^(x/10)
. m
è 0.95
, poiché vogliamo prendere ogni volta il 95% del valore. Quindi l'equazione per farm x
è y = 10*0.95^(x/10)
.