exp(pi * sqrt(n))が整数に近くなるnを探す
Posted feedbacks - JavaScript
便乗。このライブラリは重宝しそう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function doukaku60(){ // 精度的に 58 が限界。
with(Math) for(var r = [], f, n = 1; n < 200; n++)
if(abs((f = exp(PI * sqrt(n))) - round(f)) < 1e-4) r.push([n, f]);
return r;
}
// ↓ Apfloat を用いて書き換え //
function doukaku60_(){
var F = Packages.org.apfloat.Apfloat;
var M = Packages.org.apfloat.ApfloatMath;
for(var r = [], p = 25, h = new F(0.5, p), f, n = 1; n < 200; n++){
f = M.exp(M.pi(p).multiply(M.sqrt(new F(n, p))));
if(M.abs(f.subtract(f.add(h).floor())).floatValue() < 1e-4) r.push([n, f.toString(true)]);
}
return r;
}
print(doukaku60_().join('\n'))
|



herumi
#3416()
Rating0/2=0.00
Pythonで34行のスクリプトを書いて得られた出力の例が下のようになります。
この問題は光成さんに教えて頂いた e^{π*sqrt{163}}≒26253741640768744 が元になっています。ご協力ありがとうございました。[ reply ]