当前位置: 首页 > 资源 > 正文

π 的值(精确到1万3千),看看你能背出多少位

圆周率,一般以π来表示,是一个在数学及物理学普遍存在的数学常数,是精确计算圆周长、圆面积、球体积等几何量的关键值,其定义为圆的周长与直径的比值。
在分析学里,pi可以严格定义为满足sin(x)=0的最小正实数x,这里的sin是正弦函数。

Bailey–Borwein–Plouffe 公式:
派

法布里斯·贝拉BBP算法(1997):
pi2

其他公式:
pi3

计算π的两个脚本:
Use Random and Map Reduce:

import random
import multiprocessing
from multiprocessing import Process

class CPiMapReduce(object):
    '''
    计算pi的mapreduce类
    '''    
    def __init__(self, map_func, reduce_func, workers_num=None):
        self.map_func = map_func
        self.reduce_func = reduce_func
        self.workers_num = workers_num
        if not workers_num:
            workers_num = multiprocessing.cpu_count()*2
        self.pool = multiprocessing.Pool(workers_num)

    def __call__(self, inputs):
        map_result = self.pool.map(self.map_func, inputs)
        reduce_result = self.reduce_func(map_result)
        return reduce_result

def calculatorMap(*args):
    '''
    简单的map函数
    '''
    #print multiprocessing.current_process().name,' processing'
    points, circle_round = args[0]
    points_in_circle = 0
    for i in range(points):
            # 这里其实只取了1/4圆
        x = random.random()*circle_round
        y = random.random()*circle_round
        if (x**2 + y**2) < circle_round**2:
            points_in_circle += 1
    print ">", points_in_circle
    return points_in_circle

def count_circle_pointsReduce(points_list):
    '''
    简单的reduce函数,计算
    '''
    print points_list, sum(points_list)
    return sum(points_list)

if __name__ == '__main__':
    CIRCLE_ROUND = 10
    POINTS = 100 #000000
    WORKERS_NUM = 10

    map_reduce = CPiMapReduce(calculatorMap, count_circle_pointsReduce, WORKERS_NUM)
    inputs = [(POINTS/WORKERS_NUM, CIRCLE_ROUND)] * WORKERS_NUM
    print inputs

    all_points_in_circle = map_reduce(inputs)   

    ac_as = float(all_points_in_circle)/POINTS
    print 'pi approach to:%7f'%(4*ac_as)

Use Python:

import sys
import math
from decimal import *
 
defmain(argv):
 
    iflen(argv) !=1:
        sys.exit('Usage: calc_pi.py <n>')
 
    print'\nComputing Pi v.01\n'
     
    a=Decimal(1.0)
    b=Decimal(1.0/math.sqrt(2))
    t=Decimal(1.0)/Decimal(4.0)
    p=Decimal(1.0)
         
    foriinrange(int(sys.argv[1])):
        at=Decimal((a+b)/2)
        bt=Decimal(math.sqrt(a*b))
        tt=Decimal(t-p*(a-at)**2)
        pt=Decimal(2*p)
         
        a=at;b=bt;t=tt;p=pt
         
    my_pi=(a+b)**2/(4*t)
    accuracy=100*(Decimal(math.pi)-my_pi)/my_pi
         
    print"Pi is approximately: "+str(my_pi)
    print"Accuracy with math.pi: "+str(accuracy)
     
if__name__=="__main__":
    main(sys.argv[1:])  

收集了的值,精确到13900位,客官们看好了,别花眼。

3.141592653589793238462643383279502884197169399375105820974944592307816406286
208998628034825342117067982148086513282306647093844609550582231725359408128481
117450284102701938521105559644622948954930381964428810975665933446128475648233
786783165271201909145648566923460348610454326648213393607260249141273724587006
606315588174881520920962829254091715364367892590360011330530548820466521384146
951941511609433057270365759591953092186117381932611793105118548074462379962749
567351885752724891227938183011949129833673362440656643086021394946395224737190
702179860943702770539217176293176752384674818467669405132000568127145263560827
785771342757789609173637178721468440901224953430146549585371050792279689258923
542019956112129021960864034418159813629774771309960518707211349999998372978049
951059731732816096318595024459455346908302642522308253344685035261931188171010
003137838752886587533208381420617177669147303598253490428755468731159562863882
353787593751957781857780532171226806613001927876611195909216420198938095257201
065485863278865936153381827968230301952035301852968995773622599413891249721775
283479131515574857242454150695950829533116861727855889075098381754637464939319
255060400927701671139009848824012858361603563707660104710181942955596198946767
837449448255379774726847104047534646208046684259069491293313677028989152104752
162056966024058038150193511253382430035587640247496473263914199272604269922796
782354781636009341721641219924586315030286182974555706749838505494588586926995
690927210797509302955321165344987202755960236480665499119881834797753566369807
426542527862551818417574672890977772793800081647060016145249192173217214772350
141441973568548161361157352552133475741849468438523323907394143334547762416862
518983569485562099219222184272550254256887671790494601653466804988627232791786
085784383827967976681454100953883786360950680064225125205117392984896084128488
626945604241965285022210661186306744278622039194945047123713786960956364371917
287467764657573962413890865832645995813390478027590099465764078951269468398352
595709825822620522489407726719478268482601476990902640136394437455305068203496
252451749399651431429809190659250937221696461515709858387410597885959772975498
930161753928468138268683868942774155991855925245953959431049972524680845987273
644695848653836736222626099124608051243884390451244136549762780797715691435997
700129616089441694868555848406353422072225828488648158456028506016842739452267
467678895252138522549954666727823986456596116354886230577456498035593634568174
324112515076069479451096596094025228879710893145669136867228748940560101503308
617928680920874760917824938589009714909675985261365549781893129784821682998948
722658804857564014270477555132379641451523746234364542858444795265867821051141
354735739523113427166102135969536231442952484937187110145765403590279934403742
007310578539062198387447808478489683321445713868751943506430218453191048481005
370614680674919278191197939952061419663428754440643745123718192179998391015919
561814675142691239748940907186494231961567945208095146550225231603881930142093
762137855956638937787083039069792077346722182562599661501421503068038447734549
202605414665925201497442850732518666002132434088190710486331734649651453905796
268561005508106658796998163574736384052571459102897064140110971206280439039759
515677157700420337869936007230558763176359421873125147120532928191826186125867
321579198414848829164470609575270695722091756711672291098169091528017350671274
858322287183520935396572512108357915136988209144421006751033467110314126711136
990865851639831501970165151168517143765761835155650884909989859982387345528331
635507647918535893226185489632132933089857064204675259070915481416549859461637
180270981994309924488957571282890592323326097299712084433573265489382391193259
746366730583604142813883032038249037589852437441702913276561809377344403070746
921120191302033038019762110110044929321516084244485963766983895228684783123552
658213144957685726243344189303968642624341077322697802807318915441101044682325
271620105265227211166039666557309254711055785376346682065310989652691862056476
931257058635662018558100729360659876486117910453348850346113657686753249441668
039626579787718556084552965412665408530614344431858676975145661406800700237877
659134401712749470420562230538994561314071127000407854733269939081454664645880
797270826683063432858785698305235808933065757406795457163775254202114955761581
400250126228594130216471550979259230990796547376125517656751357517829666454779
174501129961489030463994713296210734043751895735961458901938971311179042978285
647503203198691514028708085990480109412147221317947647772622414254854540332157
185306142288137585043063321751829798662237172159160771669254748738986654949450
114654062843366393790039769265672146385306736096571209180763832716641627488880
078692560290228472104031721186082041900042296617119637792133757511495950156604
963186294726547364252308177036751590673502350728354056704038674351362222477158
915049530984448933309634087807693259939780541934144737744184263129860809988868
741326047215695162396586457302163159819319516735381297416772947867242292465436
680098067692823828068996400482435403701416314965897940924323789690706977942236
250822168895738379862300159377647165122893578601588161755782973523344604281512
627203734314653197777416031990665541876397929334419521541341899485444734567383
162499341913181480927777103863877343177207545654532207770921201905166096280490
926360197598828161332316663652861932668633606273567630354477628035045077723554
710585954870279081435624014517180624643626794561275318134078330336254232783944
975382437205835311477119926063813346776879695970309833913077109870408591337464
144282277263465947047458784778720192771528073176790770715721344473060570073349
243693113835049316312840425121925651798069411352801314701304781643788518529092
854520116583934196562134914341595625865865570552690496520985803385072242648293
972858478316305777756068887644624824685792603953527734803048029005876075825104
747091643961362676044925627420420832085661190625454337213153595845068772460290
161876679524061634252257719542916299193064553779914037340432875262888963995879
475729174642635745525407909145135711136941091193932519107602082520261879853188
770584297259167781314969900901921169717372784768472686084900337702424291651300
500516832336435038951702989392233451722013812806965011784408745196012122859937
162313017114448464090389064495444006198690754851602632750529834918740786680881
833851022833450850486082503930213321971551843063545500766828294930413776552793
975175461395398468339363830474611996653858153842056853386218672523340283087112
328278921250771262946322956398989893582116745627010218356462201349671518819097
303811980049734072396103685406643193950979019069963955245300545058068550195673
022921913933918568034490398205955100226353536192041994745538593810234395544959
778377902374216172711172364343543947822181852862408514006660443325888569867054
315470696574745855033232334210730154594051655379068662733379958511562578432298
827372319898757141595781119635833005940873068121602876496286744604774649159950
549737425626901049037781986835938146574126804925648798556145372347867330390468
838343634655379498641927056387293174872332083760112302991136793862708943879936
201629515413371424892830722012690147546684765357616477379467520049075715552781
965362132392640616013635815590742202020318727760527721900556148425551879253034
351398442532234157623361064250639049750086562710953591946589751413103482276930
624743536325691607815478181152843667957061108615331504452127473924544945423682
886061340841486377670096120715124914043027253860764823634143346235189757664521
641376796903149501910857598442391986291642193994907236234646844117394032659184
044378051333894525742399508296591228508555821572503107125701266830240292952522
011872676756220415420516184163484756516999811614101002996078386909291603028840
026910414079288621507842451670908700069928212066041837180653556725253256753286
129104248776182582976515795984703562226293486003415872298053498965022629174878
820273420922224533985626476691490556284250391275771028402799806636582548892648
802545661017296702664076559042909945681506526530537182941270336931378517860904
070866711496558343434769338578171138645587367812301458768712660348913909562009
939361031029161615288138437909904231747336394804575931493140529763475748119356
709110137751721008031559024853090669203767192203322909433467685142214477379393
751703443661991040337511173547191855046449026365512816228824462575916333039107
225383742182140883508657391771509682887478265699599574490661758344137522397096
834080053559849175417381883999446974867626551658276584835884531427756879002909
517028352971634456212964043523117600665101241200659755851276178583829204197484
423608007193045761893234922927965019875187212726750798125547095890455635792122
103334669749923563025494780249011419521238281530911407907386025152274299581807
247162591668545133312394804947079119153267343028244186041426363954800044800267
049624820179289647669758318327131425170296923488962766844032326092752496035799
646925650493681836090032380929345958897069536534940603402166544375589004563288
225054525564056448246515187547119621844396582533754388569094113031509526179378
002974120766514793942590298969594699556576121865619673378623625612521632086286
922210327488921865436480229678070576561514463204692790682120738837781423356282
360896320806822246801224826117718589638140918390367367222088832151375560037279
839400415297002878307667094447456013455641725437090697939612257142989467154357
846878861444581231459357198492252847160504922124247014121478057345510500801908
699603302763478708108175450119307141223390866393833952942578690507643100638351
983438934159613185434754649556978103829309716465143840700707360411237359984345
225161050702705623526601276484830840761183013052793205427462865403603674532865
105706587488225698157936789766974220575059683440869735020141020672358502007245
225632651341055924019027421624843914035998953539459094407046912091409387001264
560016237428802109276457931065792295524988727584610126483699989225695968815920
560010165525637567856672279661988578279484885583439751874454551296563443480396
642055798293680435220277098429423253302257634180703947699415979159453006975214
829336655566156787364005366656416547321704390352132954352916941459904160875320
186837937023488868947915107163785290234529244077365949563051007421087142613497
459561513849871375704710178795731042296906667021449863746459528082436944578977
233004876476524133907592043401963403911473202338071509522201068256342747164602
433544005152126693249341967397704159568375355516673027390074972973635496453328
886984406119649616277344951827369558822075735517665158985519098666539354948106
887320685990754079234240230092590070173196036225475647894064754834664776041146
323390565134330684495397907090302346046147096169688688501408347040546074295869
913829668246818571031887906528703665083243197440477185567893482308943106828702
722809736248093996270607472645539925399442808113736943388729406307926159599546
262462970706259484556903471197299640908941805953439325123623550813494900436427
852713831591256898929519642728757394691427253436694153236100453730488198551706
594121735246258954873016760029886592578662856124966552353382942878542534048308
330701653722856355915253478445981831341129001999205981352205117336585640782648
494276441137639386692480311836445369858917544264739988228462184490087776977631
279572267265556259628254276531830013407092233436577916012809317940171859859993
384923549564005709955856113498025249906698423301735035804408116855265311709957
089942732870925848789443646005041089226691783525870785951298344172953519537885
534573742608590290817651557803905946408735061232261120093731080485485263572282
576820341605048466277504500312620080079980492548534694146977516493270950493463
938243222718851597405470214828971117779237612257887347718819682546298126868581
705074027255026332904497627789442362167411918626943965067151577958675648239939
176042601763387045499017614364120469218237076488783419689686118155815873606293
860381017121585527266830082383404656475880405138080163363887421637140643549556
186896411228214075330265510042410489678352858829024367090488711819090949453314
421828766181031007354770549815968077200947469613436092861484941785017180779306
810854690009445899527942439813921350558642219648349151263901280383200109773868
066287792397180146134324457264009737425700735921003154150893679300816998053652
027600727749674584002836240534603726341655425902760183484030681138185510597970
566400750942608788573579603732451414678670368809880609716425849759513806930944
940151542222194329130217391253835591503100333032511174915696917450271494331515
588540392216409722910112903552181576282328318234254832611191280092825256190205
263016391147724733148573910777587442538761174657867116941477642144111126358355
387136101102326798775641024682403226483464176636980663785768134920453022408197
278564719839630878154322116691224641591177673225326433568614618654522268126887
268445968442416107854016768142080885028005414361314623082102594173756238994207
571362751674573189189456283525704413354375857534269869947254703165661399199968
262824727064133622217892390317608542894373393561889165125042440400895271983787
386480584726895462438823437517885201439560057104811949884239060613695734231559
079670346149143447886360410318235073650277859089757827273130504889398900992391
350337325085598265586708924261242947367019390772713070686917092646254842324074
855036608013604668951184009366860954632500214585293095000090715105823626729326
453738210493872499669933942468551648326113414611068026744663733437534076429402
668297386522093570162638464852851490362932019919968828517183953669134522244470
804592396602817156551565666111359823112250628905854914509715755390024393153519
090210711945730024388017661503527086260253788179751947806101371500448991721002

本文固定链接: https://sudops.com/%cf%80-formula-caculate-numbers.html | 运维速度

该日志由 u2 于2014年01月17日发表在 资源 分类下,
原创文章转载请注明: π 的值(精确到1万3千),看看你能背出多少位 | 运维速度
关键字: ,

报歉!评论已关闭.