【問題】2^(1/2)小數點後2009位中有幾個0


Recommended Posts

沒記錯的話,好像是100多個,

我都經強調不是我亂出的題目──不是我出的!

抱歉,沒看清楚-.-

利用平方時產生的進位,可以估計出至少要幾個零

但是算出真正的準確值,一定得要程式用直是開方法去跑了吧

剛剛跑了一下程式,礙於記憶體於執行速度,只跑到600多位ˊˋ

鏈接文章
分享到其他網站

目前嘗試將「用程式跑」這簡單的四個字附諸實行,過程大約是用String字串定義數字,再定義加、減、乘三則運算。

最後再仿照長除法寫出一個可以取得小數點以下許多位數(大於70位,目前測試)的副程式。

一邊除可以一邊計算0的個數。

這個策略是用手上最簡單的,求根號2的方法: Babylonian 法

維基百科"]473cd7bceb950c9c95e4182b8e0a5609.png37bf6ffa4eb8faa293a8be6686aefde6.png

我可以讓x_0從分數3/2開始,令分子是a,分母為b,有遞迴式

gif.latex?\left\{\begin{matrix}%20a_n+1=a_n^2+2b_n^2\\%20b_n+1=2a_nb_n\end{matrix}\right.

Babylonian 法的收斂速度是「每次得到兩倍的正確位數」!!也就是2^11=2048 ≒ 2009

到目前都很美好,就讓兩個大得不得了的數相除就好了嘛,葉斯。

可是啊,這個時候的a 和 b 要多大呢?gif.latex?a_n\approx%20(2.43)^{2^n-1}

就是說gif.latex?a_{11}\approx%2010^{789.33}

不錯呢,兩個大概八百位數長除法就能得到答案了。當然這就是force法,暴力的美學啦。

問好

鏈接文章
分享到其他網站

我的電腦剛剛告訴我 (跑了將近25min)

√2=

12345678901234567890123456789012345678901234567890←我是五十個數字分隔線

1.

41421356237309504880168872420969807856967187537694

80731766797379907324784621070388503875343276415727

35013846230912297024924836055850737212644121497099

93583141322266592750559275579995050115278206057147

01095599716059702745345968620147285174186408891986

09552329230484308714321450839762603627995251407989

68725339654633180882964062061525835239505474575028

77599617298355752203375318570113543746034084988471

60386899970699004815030544027790316454247823068492

93691862158057846311159666871301301561856898723723

52885092648612494977154218334204285686060146824720

77143585487415565706967765372022648544701585880162

07584749226572260020855844665214583988939443709265

91800311388246468157082630100594858704003186480342

19489727829064104507263688131373985525611732204024

50912277002269411275736272804957381089675040183698

68368450725799364729060762996941380475654823728997

18032680247442062926912485905218100445984215059112

02494413417285314781058036033710773091828693147101

71111683916581726889419758716582152128229518488472

08969463386289156288276595263514054226765323969461

75112916024087155101351504553812875600526314680171

27402653969470240300517495318862925631385188163478

00156936917688185237868405228783762938921430065586

95686859645951555016447245098368960368873231143894

15576651040883914292338113206052433629485317049915

77175622854974143899918802176243096520656421182731

67262575395947172559346372386322614827426222086711

55839599926521176252698917540988159348640083457085

18147223181420407042650905653233339843645786579679

65192672923998753666172159825788602633636178274959

94219403777753681426217738799194551397231274066898

32998989538672882285637869774966251996658352577619

89393228453447356947949629521688914854925389047558

28834526096524096542889394538646625744927556381964

41031697983306185201937938494005715633372054806854

05758679996701213722394758214263065851322174088323

82947287617393647467837431960001592188807347857617

25221186749042497736692920731109636972160893370866

11567345853348332952546758516447107578486024636008

344491148

據說有178 個 0

鏈接文章
分享到其他網站
我的電腦剛剛告訴我 (跑了將近25min)

√2=

12345678901234567890123456789012345678901234567890←我是五十個數字分隔線

1.

41421356237309504880168872420969807856967187537694

80731766797379907324784621070388503875343276415727

35013846230912297024924836055850737212644121497099

93583141322266592750559275579995050115278206057147

01095599716059702745345968620147285174186408891986

09552329230484308714321450839762603627995251407989

68725339654633180882964062061525835239505474575028

77599617298355752203375318570113543746034084988471

60386899970699004815030544027790316454247823068492

93691862158057846311159666871301301561856898723723

52885092648612494977154218334204285686060146824720

77143585487415565706967765372022648544701585880162

07584749226572260020855844665214583988939443709265

91800311388246468157082630100594858704003186480342

19489727829064104507263688131373985525611732204024

50912277002269411275736272804957381089675040183698

68368450725799364729060762996941380475654823728997

18032680247442062926912485905218100445984215059112

02494413417285314781058036033710773091828693147101

71111683916581726889419758716582152128229518488472

08969463386289156288276595263514054226765323969461

75112916024087155101351504553812875600526314680171

27402653969470240300517495318862925631385188163478

00156936917688185237868405228783762938921430065586

95686859645951555016447245098368960368873231143894

15576651040883914292338113206052433629485317049915

77175622854974143899918802176243096520656421182731

67262575395947172559346372386322614827426222086711

55839599926521176252698917540988159348640083457085

18147223181420407042650905653233339843645786579679

65192672923998753666172159825788602633636178274959

94219403777753681426217738799194551397231274066898

32998989538672882285637869774966251996658352577619

89393228453447356947949629521688914854925389047558

28834526096524096542889394538646625744927556381964

41031697983306185201937938494005715633372054806854

05758679996701213722394758214263065851322174088323

82947287617393647467837431960001592188807347857617

25221186749042497736692920731109636972160893370866

11567345853348332952546758516447107578486024636008

344491148

據說有178 個 0

0_o

太.....太........強大了!!!:E

不過,蔡政江(你認識嗎?)

他有算出來唉!

他有講解給我們看(我賭,沒幾個人有聽懂!!!)

他好像是用進位、平方.....去限縮範圍,

我聽得模模糊糊的!!!= ='

當然,暴力也是一種方法!!!^^

至少解出答案!!!

^^

鏈接文章
分享到其他網站

說實話就是因為食不飽力不足才美不外見(什麼鬼)......因為沒學過怎麼算,也不認為能在短期內想得完整解答出來(放棄的意思XD),才決定使用「美好的暴力」滴。

BASIC 的語法幾乎生疏了,不過整個程式倒是可以利用很簡單的概念,慢慢拼起來。低科技猶如機器人瓦力,破破的--但確定能用。概念是:「我們怎麼算加減乘除就叫電腦怎麼算」。想想使用直式開方似乎就可以取代笨笨的Lim(a_n / b_n) = √S 了,演算時間似乎是從O(n^4) 降到O(n^3) 的樣子。不一。

再問好。 用心想這題的就是強者~~~~

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入