Ogólnie rzecz biorąc, równanie liniowe zacznie się od y = mx + b
, gdzie b
jest twoja wartość początkowa, i mx
to, w jaki sposób dostosowujesz wartość początkową wraz ze x
wzrostem.
Tak więc pierwsza część twojego równania będzie polegała na tym b
, 10
że chcesz, aby farmy zaczynały od 10 posiłków.
y = mx + 10
Następnie, w twoim przypadku, chcesz dostosować żywność produkowaną przez co dziesięć gospodarstw. Będziesz musiał podzielić przez dziesięć, aby uzyskać równanie, które działa na każde dziesięć farm (zakładając, że x / 10
zwraca liczbę całkowitą, tj . 13 / 10 = 1
:
y = m * (x / 10) + 10.
Wreszcie musimy ustalić, w jaki sposób chcemy zmienić żywność dla każdej x / 10
farmy. W twoim przypadku chcesz go zmniejszyć o 0,5 (5% z 10), co jest liniowe. Otrzymujemy więc:
y = -0.5 * ( x / 10 ) + 10.
Tak na farmie x = 5
, otrzymujemy 5 / 10 = 0, 0 * -0.5 = 0, 0 + 10 = 10
. Za farmę x = 11
dostajemy 11 / 10 = 1, 1 * -0.5 = -0.5, -0.5 + 10 = 9.5
, za farmę 23 dostalibyśmy 9,0.
Następnie wystarczy obliczyć całkowitą żywność dla wszystkich gospodarstw.
y = 0
for( x = 0; x < totalFarms; x++ )
{
y += -5 * ( x / 10 ) + 10;
}
Ale może ty o 5%, chciałeś, aby spadła o 5% poprzedniej wartości. Tj. 10, 10 * 0.95 = 9.5, 9.5 * 0.95 = 9.025
(W tym przypadku kwota, o którą zmniejszamy, staje się coraz mniejsza). Więc zmodyfikujmy równanie. 5%
to wykładniczy wzrost typu, a formuła wykładnicza to y = b*m^x
.
Nadal mamy b = 10
i musimy dokonać podziału przez 10 lew. Więc mamy y = 10*m^(x/10)
. m
jest 0.95
, ponieważ chcemy za każdym razem brać 95% wartości. Tak więc równanie dla farmy x
jest y = 10*0.95^(x/10)
.