exp(pi * sqrt(n))が整数に近くなるnを探す
Posted feedbacks - Perl
ふつうに Math::BigFloat を使ってます。 実行結果: 37 => 199148647.99997804655185676650092387533591914368128 58 => 24591257751.999999822213241469576192355288556885837 67 => 147197952743.99999866245422450682926131235350749310 163 => 262537412640768743.99999999999925007259524857371873
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | use strict;
use warnings;
use Math::BigFloat;
my $diff = 0.0001;
my $pi = Math::BigFloat->bpi(50);
sub exp_pi_sqrt ($) {
return exp( $pi * Math::BigFloat->new( $_[0] )->bsqrt );
}
print( $_->[0], " => ", $_->[1], "\n" ) for
grep {
abs( $_->[1] - $_->[1]->copy->bfloor ) <= $diff
|| abs( $_->[1] - $_->[1]->copy->bceil ) <= $diff
}
map { [ $_ => exp_pi_sqrt($_) ] } 1 .. 200;
|


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