移籍ポイント計算式の説明
富嶽さん、拓郎さんへ
前提条件
Xターンにおいて、下記式を与えます。
P_X=総獲得経験値×A+金銭収入[億円]×B+食料収入[万t]×C+艦隊合計経験値×D+艦隊維持費[億円]×E+総人口[万人]×F+クリスタル数×G
また、Xターン目の移籍PをPXとあらわします。
ここで、P_XとPXは別物です。
(P_XはXターン目の計算結果であり、PXは移籍を決定する正式な移籍ポイントです。)
本来の理想的な計算式
本来は完全な50T分の和を計算したいです。
従って、
P50=Σ(P_n) [n=1~50]
これが理想です。
そして次のターンでは、
P51=Σ(P_n) [n=2~51]
書き換えると、P51=Σ(P_n)-P_1+P_51 [n=1~50]
これが理想なのです。
しかし、これではP1~P50までの値を格納しなければならず、
プログラム上、非現実的と考えます。(簡単ならこっちで計算お願いします)
妥協した計算式
そこで、50Tの和相当の計算をすべく、下記を考えました。
<1ターン目>
移籍P1=P_1×50
最初は50T分も移籍Pを計算していないので、50倍で算出
<2ターン目>
移籍P2=P1-P1÷50+P_2
次に、前の移籍Pに対し、1ターン相当分を引いた後で次のP_Xを足します。
これが、P51=Σ(P_n)-P_1+P_51 [n=1~50]
の類似バージョンです。
本来は50T前のP_Xを引くべきところを、
前のターンの移籍P(X-1)の50分の1だけ引くことで、代用しています。
<X+1ターン目の移籍P>
移籍P(X+1)=PX-PX÷50+P_(X+1)
=0.98×PX+P_(X+1)