DouKaku?より
1以上200未満の整数nのうち、 exp(pi * sqrt(n))がほとんど整数であるようなnを求めるコードを書いてください。
大きな数を標準では扱えない処理系だと大変でしょうが、Mathematicaなら
Select[Range@199,
With[{f = Exp[Pi Sqrt@#]},
Abs[f - Round@f] <= 10^-4 &]]
{37, 58, 67, 163}
以上。10^-4を0.0001と書かないように。
関数値を出力したければ、(桁数+6)ぐらいの近似値にして、指数形式にならないように
{#, NumberForm[N[f@#, Log[10, f@#] + 6], ExponentFunction -> (Null &)]} & /@ %
{{37, 199148647.99998}, {58, 24591257752.00000}, {67, 147197952744.00000}, \
{163, 262537412640768744.00000}}