ポケモンで数学

トリミアンの対戦考察wiki読んでたら先制でコットンガードしたい臆病最速トリミアンの防御耐久指数についての論争があったから中学生の数学をそれっぽく数学チックに取り出して考察してみた。大学生らしく微分方程式使う問題とか作れないかなw まあ耐久指数っていう概念自体が近似使ってるし数学的ではあるけど。
というか中学3年〜高校一年の時こんなことばっかりやってたから英語とかの成績は落ちたけどのちのちの受験化学や微積で必要な計算力だけはついたんだろうなぁと思ってしまいました。


問題

レベル50フラット対戦において、ポケモンの耐久値がHPと防御の実値の掛け算で表せるとするとき、臆病最速トリミアン(HP種族値75,防御種族値60,特性ファーコート)の物理耐久が最大となる努力値配分を求めよ。ただし努力値合計は508とし、個体値は全て31とする。


解答

残る努力値は全てHPと防御に振る必要がある。努力値を割り出すためにまず実値を考える。残る努力値は256であるため、最大で合計33だけ能力値を上昇できる。ただし、無駄なく一つの能力に振ることができる努力値は252までであるから、一つの能力値の上昇分は最大で32までである。以上のことをふまえると今回の問題は、HPの能力値上昇分をaとおいて、
(150+a)×[{80+(33-a)}×2]…(#)が最大となる整数a(1≦a≦32)の値を求めることに帰着する。
これを変形して、
(#)=2(150+a)(113-a)
=2(a^2-37a+16950)
=2{(a-37/2)^2+16607.75}
よって、
a=1のとき最大値をとる
a=18または19のとき最小値をとる
a=1のとき、努力値によるHP,防御の上昇値はそれぞれ1,32である。
以上より、求める努力値配分は
4-0-252-0-0-252
である。