この問題は公式を使えば実数計算で答えが出る、数学はえらいなあというのを実感させるための問題です。この公式の求め方は高校で勉強しましたが、オイラーもこれを発見したそうです。
数学関数は、
import scala.Math._
と書いておくと標準的なものは使えるみたいです。
import scala.Math._ def log10(x :Double) = log(x) / log(10) val N = 1000 val b = (1 + sqrt(5)) / 2 println (((N - 1 + log10(5) / 2) / log10(b)).toInt + 1)