Pi Day : Nous sommes le jour pi !
Bonjour à tous,
Aujourd'hui, nous sommes le 14 Mars, soit en anglais 3/14.
Et 3.14 est le nombre pi !
Dans ce magnifique billet, je vous donne la formule magique pour calculer pi en bash (ici avec 200 décimales) :
Ajoutez la commande "time" et vous aurez le temps de calcul :
Si vous voulez une ligne infinie de virgules, et pas un retour à la ligne tous les X caractères, changer la variable BC_LINE_LENGTH :
Pour moi, j'ai testé 5.000 décimales de pi :
20 secondes, et vous ?
Aujourd'hui, nous sommes le 14 Mars, soit en anglais 3/14.
Et 3.14 est le nombre pi !
Dans ce magnifique billet, je vous donne la formule magique pour calculer pi en bash (ici avec 200 décimales) :
Code BASH :
echo "scale=200; 4*a(1)" | bc -l
Ajoutez la commande "time" et vous aurez le temps de calcul :
Code BASH :
time echo "scale=200; 4*a(1)" | bc -l 3.141592653589793238462643383279502884197169399375105820974944592307\ 81640628620899862803482534211706798214808651328230664709384460955058\ 223172535940812848111745028410270193852110555964462294895493038196 real 0m0.020s user 0m0.019s sys 0m0.000s
Si vous voulez une ligne infinie de virgules, et pas un retour à la ligne tous les X caractères, changer la variable BC_LINE_LENGTH :
Code BASH :
echo "scale=200; 4*a(1)" | bc -l 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196
Pour moi, j'ai testé 5.000 décimales de pi :
Code BASH :
time echo "scale=5000; 4*a(1)" | bc -l 3.141592653589793238462643383279502884197169399375105820974944592307\ 81640628620899862803482534211706798214808651328230664709384460955058\ 22317253594081284811174502841027019385211055596446229489549303819644\ 28810975665933446128475648233786783165271201909145648566923460348610\ 45432664821339360726024914127372458700660631558817488152092096282925\ 40917153643678925903600113305305488204665213841469519415116094330572\ 70365759591953092186117381932611793105118548074462379962749567351885\ 75272489122793818301194912983367336244065664308602139494639522473719\ 07021798609437027705392171762931767523846748184676694051320005681271\ 45263560827785771342757789609173637178721468440901224953430146549585\ 37105079227968925892354201995611212902196086403441815981362977477130\ 99605187072113499999983729780499510597317328160963185950244594553469\ 08302642522308253344685035261931188171010003137838752886587533208381\ 42061717766914730359825349042875546873115956286388235378759375195778\ 18577805321712268066130019278766111959092164201989380952572010654858\ 63278865936153381827968230301952035301852968995773622599413891249721\ 77528347913151557485724245415069595082953311686172785588907509838175\ 46374649393192550604009277016711390098488240128583616035637076601047\ 10181942955596198946767837449448255379774726847104047534646208046684\ 25906949129331367702898915210475216205696602405803815019351125338243\ 00355876402474964732639141992726042699227967823547816360093417216412\ 19924586315030286182974555706749838505494588586926995690927210797509\ 30295532116534498720275596023648066549911988183479775356636980742654\ 25278625518184175746728909777727938000816470600161452491921732172147\ 72350141441973568548161361157352552133475741849468438523323907394143\ 33454776241686251898356948556209921922218427255025425688767179049460\ 16534668049886272327917860857843838279679766814541009538837863609506\ 80064225125205117392984896084128488626945604241965285022210661186306\ 74427862203919494504712371378696095636437191728746776465757396241389\ 08658326459958133904780275900994657640789512694683983525957098258226\ 20522489407726719478268482601476990902640136394437455305068203496252\ 45174939965143142980919065925093722169646151570985838741059788595977\ 29754989301617539284681382686838689427741559918559252459539594310499\ 72524680845987273644695848653836736222626099124608051243884390451244\ 13654976278079771569143599770012961608944169486855584840635342207222\ 58284886481584560285060168427394522674676788952521385225499546667278\ 23986456596116354886230577456498035593634568174324112515076069479451\ 09659609402522887971089314566913686722874894056010150330861792868092\ 08747609178249385890097149096759852613655497818931297848216829989487\ 22658804857564014270477555132379641451523746234364542858444795265867\ 82105114135473573952311342716610213596953623144295248493718711014576\ 54035902799344037420073105785390621983874478084784896833214457138687\ 51943506430218453191048481005370614680674919278191197939952061419663\ 42875444064374512371819217999839101591956181467514269123974894090718\ 64942319615679452080951465502252316038819301420937621378559566389377\ 87083039069792077346722182562599661501421503068038447734549202605414\ 66592520149744285073251866600213243408819071048633173464965145390579\ 62685610055081066587969981635747363840525714591028970641401109712062\ 80439039759515677157700420337869936007230558763176359421873125147120\ 53292819182618612586732157919841484882916447060957527069572209175671\ 16722910981690915280173506712748583222871835209353965725121083579151\ 36988209144421006751033467110314126711136990865851639831501970165151\ 16851714376576183515565088490998985998238734552833163550764791853589\ 32261854896321329330898570642046752590709154814165498594616371802709\ 81994309924488957571282890592323326097299712084433573265489382391193\ 25974636673058360414281388303203824903758985243744170291327656180937\ 73444030707469211201913020330380197621101100449293215160842444859637\ 66983895228684783123552658213144957685726243344189303968642624341077\ 32269780280731891544110104468232527162010526522721116603966655730925\ 47110557853763466820653109896526918620564769312570586356620185581007\ 29360659876486117910453348850346113657686753249441668039626579787718\ 55608455296541266540853061434443185867697514566140680070023787765913\ 44017127494704205622305389945613140711270004078547332699390814546646\ 45880797270826683063432858785698305235808933065757406795457163775254\ 20211495576158140025012622859413021647155097925923099079654737612551\ 76567513575178296664547791745011299614890304639947132962107340437518\ 95735961458901938971311179042978285647503203198691514028708085990480\ 10941214722131794764777262241425485454033215718530614228813758504306\ 33217518297986622371721591607716692547487389866549494501146540628433\ 66393790039769265672146385306736096571209180763832716641627488880078\ 69256029022847210403172118608204190004229661711963779213375751149595\ 01566049631862947265473642523081770367515906735023507283540567040386\ 74351362222477158915049530984448933309634087807693259939780541934144\ 73774418426312986080998886874132604720 real 0m20.939s user 0m20.935s sys 0m0.001s
20 secondes, et vous ?