数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: Euclid

[求助]计算e后面9000位,这个c程序没看懂

[复制链接]
发表于 2010-5-2 15:13 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂

效率提高了多少,你算过没有?时间复杂度?
发表于 2010-5-2 18:11 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂

我试了。程序根本不对。得出结果7楼不一样?还有很多-号。
 楼主| 发表于 2010-5-2 19:15 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂

我程序都没看懂,如果你看懂了帮忙解释下,书中另一个程序整整两面,难道你喜欢写那种程序?
发表于 2010-5-3 12:38 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂

下面引用由Euclid2010/05/02 07:15pm 发表的内容:
我程序都没看懂,如果你看懂了帮忙解释下,书中另一个程序整整两面,难道你喜欢写那种程序?
我把你的程序拷到我的VC++6.0运行,得出的结果完全和7楼的结果不一样,难到你没试过?
发表于 2010-5-3 13:21 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂

我用gcc (unix gunu c compiler). $ gcc -v Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs Configured with: /usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --ver bose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libe xecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-langu ages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext -- enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java- awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-thre ads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptio ns --enable-hash-synchronization --enable-libstdcxx-debug Thread model: posix gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) elim@WorkBook ~/Projects/C/e/eg $ ls e.c elim@WorkBook ~/Projects/C/e/eg $ cat e.c #include int main(){ int N=9009,n=N,a[9009],x;while(--n)a[n]=1+1/n; for(;N>9;printf("%d",x)) for(n=N--;--n;a[n]=x%n,x=10*a[n-1]+x/n);} elim@WorkBook ~/Projects/C/e/eg $ gcc e.c -o e elim@WorkBook ~/Projects/C/e/eg $ e 271828182845904523536028747135266249775724709369995957.........很长的结果就不重复了。
发表于 2010-5-3 13:54 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂


什么原因?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2010-5-3 19:08 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂

这个程序的输出结果:(用 Mathematica 对照, 为发现不一致。当然,少了一个小数点)
27182818284590452353602874713526624977572470936999595749669676277240766303535475
94571382178525166427427466391932003059921817413596629043572900334295260595630738
13232862794349076323382988075319525101901157383418793070215408914993488416750924
47614606680822648001684774118537423454424371075390777449920695517027618386062613
31384583000752044933826560297606737113200709328709127443747047230696977209310141
69283681902551510865746377211125238978442505695369677078544996996794686445490598
79316368892300987931277361782154249992295763514822082698951936680331825288693984
96465105820939239829488793320362509443117301238197068416140397019837679320683282
37646480429531180232878250981945581530175671736133206981125099618188159304169035
15988885193458072738667385894228792284998920868058257492796104841984443634632449
68487560233624827041978623209002160990235304369941849146314093431738143640546253
15209618369088870701676839642437814059271456354906130310720851038375051011574770
41718986106873969655212671546889570350354021234078498193343210681701210056278802
35193033224745015853904730419957777093503660416997329725088687696640355570716226
84471625607988265178713419512466520103059212366771943252786753985589448969709640
97545918569563802363701621120477427228364896134225164450781824423529486363721417
40238893441247963574370263755294448337998016125492278509257782562092622648326277
93338656648162772516401910590049164499828931505660472580277863186415519565324425
86982946959308019152987211725563475463964479101459040905862984967912874068705048
95858671747985466775757320568128845920541334053922000113786300945560688166740016
98420558040336379537645203040243225661352783695117788386387443966253224985065499
58862342818997077332761717839280349465014345588970719425863987727547109629537415
21115136835062752602326484728703920764310059584116612054529703023647254929666938
11513732275364509888903136020572481765851180630364428123149655070475102544650117
27211555194866850800368532281831521960037356252794495158284188294787610852639813
95599006737648292244375287184624578036192981971399147564488262603903381441823262
51509748279877799643730899703888677822713836057729788241256119071766394650706330
45279546618550966661856647097113444740160704626215680717481877844371436988218559
67095910259686200235371858874856965220005031173439207321139080329363447972735595
52773490717837934216370120500545132638354400018632399149070547977805669785335804
89669062951194324730995876552368128590413832411607226029983305353708761389396391
77957454016137223618789365260538155841587186925538606164779834025435128439612946
03529133259427949043372990857315802909586313826832914771163963370924003168945863
60606458459251269946557248391865642097526850823075442545993769170419777800853627
30941710163434907696423722294352366125572508814779223151974778060569672538017180
77636034624592787784658506560507808442115296975218908740196609066518035165017925
04619501366585436632712549639908549144200014574760819302212066024330096412704894
39039717719518069908699860663658323227870937650226014929101151717763594460202324
93002804018677239102880978666056511832600436885088171572386698422422010249505518
81694803221002515426494639812873677658927688163598312477886520141174110913601164
99507662907794364600585194199856016264790761532103872755712699251827568798930276
17611461625493564959037980458381823233686120162437365698467037858533052758333379
39907521660692380533698879565137285593883499894707416181550125397064648171946708
34819721448889879067650379590366967249499254527903372963616265897603949857674139
73594410237443297093554779826296145914429364514286171585873397467918975712119561
87385783644758448423555581050025611492391518893099463428413936080383091662818811
50371528496705974162562823609216807515017772538740256425347087908913729172282861
15159156837252416307722544063378759310598267609442032619242853170187817729602354
13060672136046000389661093647095141417185777014180606443636815464440053316087783
14317444081194942297559931401188868331483280270655383300469329011574414756313999
72217038046170928945790962716622607407187499753592127560844147378233032703301682
37193648002173285734935947564334129943024850235732214597843282641421684878721673
36701061509424345698440187331281010794512722373788612605816566805371439612788873
25273738903928905068653241380627960259303877276977837928684093253658807339884572
18746021005311483351323850047827169376218004904795597959290591655470505777514308
17511269898518840871856402603530558373783242292418562564425502267215598027401261
79719280471396006891638286652770097527670697770364392602243728418408832518487704
72638440379530166905465937461619323840363893131364327137688841026811219891275223
05625675625470172508634976536728860596675274086862740791285657699631378975303466
06166698042182677245605306607738996242183408598820718646826232150802882863597468
39654358856685503773131296587975810501214916207656769950659715344763470320853215
60367482860837865680307306265763346977429563464371670939719306087696349532884683
36130388294310408002968738691170666661468000151211434422560238744743252507693870
77775193299942137277211258843608715834835626961661980572526612206797540621062080
64988291845439530152998209250300549825704339055357016865312052649561485724925738
62069174036952135337325316663454665885972866594511364413703313936721185695539521
08458407244323835586063106806964924851232632699514603596037297253198368423363904
发表于 2010-5-3 20:25 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂

请大家看看我的程序和输出结果,为什么和大家的不一样?
发表于 2010-5-3 21:29 | 显示全部楼层

[求助]计算e后面9000位,这个c程序没看懂

看起来像是输出的编码和显示的编码不相容。是么原因就不好说了。我没装VC++
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-6-23 14:46 , Processed in 0.101774 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表