プラチナの初期seed
(((月)×(日)+(分)+(秒)) mod 0x100)×0x1000000 + (時)×0x10000 + (年)-2000+X
のXの部分を測定。
時間は起動から”つづきからはじめる”を選択するまでの時間。起動して”つづきからはじめる”を選択する画面までAを連打して、その画面で時間調整。
増分 | 時間(s) | 理論値 | 誤差(時間-理論値) |
2157 | 40.4 | 40.46537757 | -0.065377565 |
2167 | 40.55 | 40.63250331 | -0.082503311 |
2173 | 40.64 | 40.73277876 | -0.092778759 |
2181 | 40.78 | 40.86647936 | -0.086479355 |
2183 | 40.81 | 40.8999045 | -0.089904504 |
2185 | 40.83 | 40.93332965 | -0.103329653 |
15953 | 271.45 | 271.0320564 | 0.417943635 |
15957 | 271.5 | 271.0989067 | 0.401093337 |
15963 | 271.54 | 271.1991821 | 0.34081789 |
21247 | 359.43 | 359.5084262 | -0.07842615 |
21259 | 359.6 | 359.708977 | -0.108977045 |
29615 | 499.27 | 499.3592502 | -0.089250171 |
29625 | 499.43 | 499.5263759 | -0.096375917 |
29627 | 499.44 | 499.5598011 | -0.119801066 |
29631 | 499.48 | 499.6266514 | -0.146651364 |
時間をy、増分をxとして最小二乗法を使うと
y=0.016712575x+4.416354213
よってXの増加を秒速に直せば
59.83518552/s
実際に上の式で計算した値を理論値として併記したけど、誤差がひどい……。
追記。
別のDSカードでとったデータが混じっていたのでそれ取り除いて再計算。
増分 | 時間(s) | 理論値 | 誤差(時間-理論値) |
2157 | 40.4 | 40.37957457 | 0.020425427 |
2167 | 40.55 | 40.54669153 | 0.00330847 |
2173 | 40.64 | 40.6469617 | -0.006961704 |
2181 | 40.78 | 40.78065527 | -0.00065527 |
2183 | 40.81 | 40.81407866 | -0.004078661 |
2185 | 40.83 | 40.84750205 | -0.017502053 |
21247 | 359.43 | 359.4058455 | 0.024154509 |
21259 | 359.6 | 359.6063858 | -0.006385839 |
29615 | 499.27 | 499.2493151 | 0.02068489 |
29625 | 499.43 | 499.4164321 | 0.013567933 |
29627 | 499.44 | 499.4498555 | -0.009855459 |
29631 | 499.48 | 499.5167022 | -0.036702241 |
y=0.016711696x+4.332446948
59.83833226/s
精度が上がったところを見ると、どうやらDSカードによって切片が若干違うようだ。