« グーグル、人材募集広告 を解く | メイン | スタジオジブリの映画展 »
2004年7月24日
グーグル、人材募集広告 を解く 第二回
続き、グーグルの人材募集広告を解く。
ネットで「eの値」と調べるとCでネピア数を計算するソースコードを発見。
自然対数の底、eの値(改)
とりあえず、コンパイルして実行してみると
「2.7182818284590452353602874713526624977572470936
999595749669676277240766303535475945713821785251
664274274663919320030599218174135966290435729003
342952605956307381323286279434907632338298807531
9525101901157383...」
と、大量に出てきた。
答えもちゃんと出てるみたいだが、、、
このまま使用しては自力製作にならないので、perlに移植。実行してみるも、
10分経っても何も出力されず。
イラついて、強制終了。一から考える事にします。

1/n! を n=0 から ∞ まで永遠に足し算していくわけなので、
a := 1
for n := 1 to 100 do
begin
ans := ans + a / n
a := a / n
end
そこで、数値を区切って計算するように改良。
a[] := array(1*M,0,0,0・・・・)
ans[] := array(0,0,0,0・・・・)
for n := 1 to 100 do
begin
tmp_mod := 0
for x := 0 to 50 do
begin
tmp_a := (tmp_mod*M + a[x]) / n
tmp_mod := (tmp_mod*M + a[x]) mod n
a[x] := tmp_a
ans[x] := ans[x] + a[x]
end
end
※結果
「2.7182818284590452353602874713526624977572470936
999595749669676277240766303535475945713821785251
66427427466391932003059921」
と出力され、答えもあってるみたい。
やっと本プログラム。perlでの実装。でも、それは次回で。
投稿者 wizkid : 2004年7月24日 11:58
トラックバック
このエントリーのトラックバックURL:
http://www.wizkidjp.net/blog_manager/mt-tb.cgi/2

主婦と生活社: ロリィタ雑誌「FRiLL」 [book]
深田恭子in下妻物語[book]