wizkidjp.com について
ようこそ

嶽本野ばら
 ・ アラジンと魔法のお買物
 ・ 変身
 ・ ハピネス
 ・ シシリエンヌ
 ・ 下妻物語・完―ヤンキーちゃんとロリータちゃんと殺人事件
 ・ 恋愛の国のアリス
 ・ ミシン2 カサコ
 ・ ロリヰタ。
 ・ カルプス・アルピス
 ・ デウスの棄て児
 ・ 下妻物語―ヤンキーちゃんとロリータちゃん
 ・ パッチワーク
 ・ カフェー小品集
 ・ ツインズ―続・世界の終わりという名の雑貨店
 ・ 鱗姫―uloco hime
 ・ エミリー

Links
 ・ On Take 3
 ・ 三国志大戦私的戦術指南書
 ・ 私的 Blog 研究室
 ・ あずき亭

« グーグル、人材募集広告 を解く | メイン | スタジオジブリの映画展 »

2004年7月24日

グーグル、人材募集広告 を解く 第二回

続き、グーグルの人材募集広告を解く。

ネットで「eの値」と調べるとCでネピア数を計算するソースコードを発見。
自然対数の底、eの値(改)

とりあえず、コンパイルして実行してみると
「2.7182818284590452353602874713526624977572470936
999595749669676277240766303535475945713821785251
664274274663919320030599218174135966290435729003
342952605956307381323286279434907632338298807531
9525101901157383...」
と、大量に出てきた。
答えもちゃんと出てるみたいだが、、、

このまま使用しては自力製作にならないので、perlに移植。実行してみるも、
10分経っても何も出力されず。
イラついて、強制終了。一から考える事にします。


1/n! を n=0 から ∞ まで永遠に足し算していくわけなので、

code:
ans := 1
a := 1
for n := 1 to 100 do
begin
  ans := ans + a / n
  a := a / n
end
上記の式のように計算を繰り返せば 答えはでるはずだが、 途中でメモリの桁あふれがおこり、100桁以上の答えは到底出せない。

そこで、数値を区切って計算するように改良。

code:
M := 1000000
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
と、本当に正しい答えが出るのか、Excelで実験。

※結果
「2.7182818284590452353602874713526624977572470936
999595749669676277240766303535475945713821785251
66427427466391932003059921」

と出力され、答えもあってるみたい。
やっと本プログラム。perlでの実装。でも、それは次回で。

投稿者 wizkid : 2004年7月24日 11:58

トラックバック

このエントリーのトラックバックURL:
http://www.wizkidjp.net/blog_manager/mt-tb.cgi/2

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)

ホンとか?
 ・ ウェブ営業力ウェブ営業力 -(著)渥美 英紀-

ホンとか
 ・ 深田恭子写真集 25才深田恭子写真集 25才
 ・ Hey my friend(CCCD)
 ・ 下妻物語オリジナル・サウンドトラック(CCCD)
 ・ 下妻物語DVD 「下妻物語」
 ・ 嶽本 野ばら: 下妻物語―ヤンキーちゃんとロリータちゃん嶽本 野ばら: 下妻物語―ヤンキーちゃんとロリータちゃん
 ・ 主婦と生活社: ロリィタ雑誌「FRiLL」 [book]
 ・ 深田恭子in下妻物語[book]
 ・ : 深田恭子 in 下妻物語[DVD]深田恭子 in 下妻物語[DVD]

サーチ 
ページトップへ
wizkidjp.com について |  プレスリリース | 

利用規約 |  プライバシー規約   ©2004-2005, wizkidjp.com, Inc. and its affiliates