バッチファイルでProject Euler(58)

Problem 25


この問題は長整数など使う必要はなく、本来Fibonacci数列の一般項、

 F_n = \frac{1}{\sqrt{5}}(\frac{1 + \sqrt{5}}{2})^n + \frac{-1 + \sqrt{5}}{2})^n)

を使えば即解けます。右辺第2項はnが大きくなれば非常に小さいので無視できます。

 n = [ (999 + \log_{10}{\sqrt{5}}) / \log_{10}{\frac{1 + \sqrt{5}}{2}}] + 1

ただ、バッチファイルでは整数の演算しかできません。次回からは、工夫して小数の計算ができるようにしていきます。