Ogólnie rzecz biorąc, równanie liniowe zacznie się od y = mx + b, gdzie bjest twoja wartość początkowa, i mxto, w jaki sposób dostosowujesz wartość początkową wraz ze xwzrostem.
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 / 10zwraca 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 / 10farmy. 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 = 11dostajemy 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 = 10i musimy dokonać podziału przez 10 lew. Więc mamy y = 10*m^(x/10). mjest 0.95, ponieważ chcemy za każdym razem brać 95% wartości. Tak więc równanie dla farmy xjest y = 10*0.95^(x/10).