In generale, inizierà un'equazione lineare y = mx + b, dove si btrova il valore iniziale, ed mxè come si regola il valore iniziale xall'aumentare.
Quindi la prima parte della tua equazione, la b, sarà 10perché 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 / 10restituisca 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 / 10fattoria. 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 = 11otteniamo 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).