Pýi matematickìch vìpoŸtech se obŸas vyskytne potýeba prov‚st vìpoŸet s velkou pýesnost¡ na velkì poŸet m¡st, aœ ji§ desetinnìch nebo celkovØ platnìch. Ve vØtçinØ pý¡pad… se vystaŸ¡ s typy promØnnìch, kter‚ bاnØ nab¡zej¡ programovac¡ jazyky. NØkdy se vçak m…§e st t, §e ani kapacita tØchto promØnnìch nestaŸ¡. Pak je týeba buÔ s hnout po speci ln¡ch programovìch prostýedc¡ch, a pokud nejsou zrovna po ruce (resp. jsou pý¡liç drah‚), pokusit se vypomoci vlastn¡mi silami. Zp…sob… jak to uŸinit je samozýejmØ nepýebernØ mnoho a z le§¡ na mnoha faktorech jakì postup zvolit. Nam tkou m…§eme vyjmenovat: potýebn  rychlost vìpoŸtu, po§adovan  pýesnost, pou§itì programovac¡ jazyk, program torsk‚ schopnosti a matematick‚ schopnosti program tora a.t.d. Velmi Ÿasto pak lze pýi ýeçen¡ konkr‚tn¡ £lohy vyu§¡t i r…znìch heuristik, urychluj¡c¡ch Ÿasto mnohon sobnØ vìpoŸty. Jedn¡m z mo§nìch zp…sob… vìpoŸtu na velkì poŸet m¡st je simulace "ruŸn¡ho" poŸ¡t n¡ (n soben¡, dØlen¡ a.t.d.). Pou§it¡ kalkulaŸky je dnes pro vØtçinu lid¡ samozýejmost¡ i pýi nejbاnØjç¡ch ban ln¡ch vìpoŸtech. VØý¡m tomu, §e bych ýadu lid¡ vyvedl alespoå na chvilku z m¡ry, kdybych po nich chtØl, aby vydØlili na pap¡ýe çestim¡stn‚ Ÿ¡slo tý¡m¡stnìm na Ÿtyýi desetinn  m¡sta. Pýedstavme si, §e jsme v situaci, kdy potýebujeme prov dØt vìpoŸty týeba na 1000 platnìch m¡st. V praxi je potýeba takto pýesnìch vìpoŸt… samozýejmØ minim ln¡, nicm‚nØ m…§e se vyskytnout aœ ji§ jako skuteŸnØ praktick  potýeba nebo jako pýedmØt vìzkumu. Uka§me si pý¡klad podobn‚ho vìpoŸtu, kde pou§ijeme simulaci "ruŸn¡ho" dØlen¡ a sŸ¡t n¡ k vìpoŸtu Ÿ¡sla "e" (Eulerova konstanta, kter  je z kladem pýirozenìch logaritm…. Jedn  se o transcendentn¡ Ÿ¡slo, Ÿili Ÿ¡slo s nekoneŸnìm desetinnìm rozvojem, jeho§ pýibli§n  hodnota je 2,71828182459...). V praxi se k jeho vìpoŸtu m…§e pou§¡t nekoneŸn  ýada: ï ex = ª (Xk/k!) k=0 Zd nlivØ slo§itì tvar m…§eme rozepsat trochu pochopitelnØji: X0 X1 X2 X3 X4 ex = Ä- + ÄÄ + ÄÄ + ÄÄ + ÄÄ ... 0! 1! 2! 3! 4! Budeme-li poŸ¡tat hodnotu e, bude m¡t ýada tvar 1 1 1 1 1 e = Ä- + ÄÄ + ÄÄ + ÄÄ + ÄÄ ... 0! 1! 2! 3! 4! Pro vìpoŸet si definujeme dvØ pole (napý. typu Byte) o rozsahu, podle poŸtu m¡st, na kter  chceme Ÿ¡slo e urŸit. Ka§dì prvek pole bude pro n s reprezentovat jednu cifru Do prvn¡ho z nich - oznaŸme jej A - ulo§¡me hodnotu 1.0000... , Ÿili do prvn¡ho prvku d me 1 a do dalç¡ch ulo§¡me nuly. Toto pole bude pro n s reprezentovat pýi vìpoŸtu aktu ln¡ hodnotu prvku ýady. Do druh‚ho pole - oznaŸ¡me jej B - vlo§¡me hodnotu 2.0000... . Toto pole pro n s bude reprezentovat souŸet spoŸtenìch Ÿlen… ýady. Pokud budeme poŸ¡tat na vØtç¡ poŸet m¡st, narazili bychom jeçtØ na dalç¡ probl‚m. Hodnoty n! rostou velmi rychle. K vìpoŸtu napý¡klad jen na 1000 m¡st je potýeba spoŸ¡tat pýes 200 Ÿlen… ýady. Pokud bychom poŸ¡tali skuteŸnØ ka§dì Ÿlen samostatnØ, museli bychom vypoŸ¡t vat pý¡sluçnì faktori l a dØlit j¡m jedniŸku. Tento postup je vçak mo§no podstatnØ zjednoduçit. StaŸ¡ si uvØdomit, §e v poli A m me ulo§enou zpoŸ tku hodnotu 1. Pro vìpoŸet týet¡ho Ÿlenu (prvn¡ dva samozýejmØ nen¡ týeba poŸ¡tat) staŸ¡ vydØlit hodnotu v tomto poli Ÿ¡slem 2. Hodnotu tohoto pole pýiŸteme k poli B. Pro z¡sk n¡ hodnoty Ÿtvrt‚ho Ÿlenu staŸ¡ kdy§ hodnotu v poli A vydØl¡me Ÿ¡slem 3. OpØt pýiŸteme hodnotu v poli A do pole B a pokraŸujeme dØlen¡m pole A Ÿ¡slem 4 atd. T¡m jsme uçetýeni poŸ¡t n¡ vysokìch faktori l… a probl‚m… s dØlitelem velkìch rozmØr…. VìpoŸet m…§eme skonŸit v okam§iku, kdy obsah pole A je celì nulovì. Vlastn¡ dØlen¡ Ÿ¡sla v poli A (viz pýilo§enì program) vych z¡ z klasick‚ho sch‚ma, kter‚ se pou§¡v  pýi dØlen¡ na pap¡ru tak, jak jsme se uŸili ve çkole. Co se tìk  chyby ve vìsledku, d  se jej¡ hranice urŸit z poŸtu poŸ¡tanìch Ÿlen… ýady. VìpoŸet ka§d‚ho Ÿlenu ýady je pýesnì, s vìjimkou hodnoty posledn¡ho m¡sta. Horn¡ hranice chyby je tedy omezena Ÿ¡slem 9*n, kde n je poŸet poŸ¡tanìch Ÿlen… ýady. Chyba tedy m…§e bìt maxim lnØ na posledn¡ch log10(9*n)ti m¡stech. Pýilo§enì program slou§¡ jako ilustrativn¡ pý¡klad. JistØ sami najdete ýadu mo§nost¡ jak program vylepçit a urychlit. Napý¡klad bajt m…§e obsahovat ne jednu, ale dvØ cifry. Pak m…§e bìt v n-m¡stn‚m poli bajt… m…§e bìt ulo§en dvojn sobnì poŸet pozic poŸ¡tan‚ho Ÿ¡sla a vìpoŸet probØhne za stejnou dobu, zaj¡mav‚ m…§e bìt doplnØn¡ tisku o pr…bاn‚m stavu vìpoŸtu, o Ÿasovìch relac¡ch v z vislosti na poŸtu poŸ¡tanìch m¡st, a.t.d.). Jiý¡ Ventluka