1. Kerran muinoin keksin pii'lle kaavan
lim(2^(n 1)B(n,2n-1)(1 (2n-1)/3 (2n-1)(2n-3)/(3*5) ... (2n-1)(2n-3)*..*(n 3)/(3*5*..*(n-1))) ->pii.
Tässä B(n,2n-1) tarkoittaa binomikertoimen käänteislukua. n on parillinen. Parittomille n tulee hieman toisenlainen kaava.Laskennan helpottamiseksi ylläolevaa kaavaa voi vielä vähän yksinkertaistaa.
Piin laskeminen 1 milj. desimaalin tarkkuudella vei aikaa n. 5 tuntia. (2.6 GHz prosessorin tietokoneella). Kaava on siitä huono että tämä alkaa olla yläraja laskentatarkkuudelle, sillä esim. 10 milj numeron laskeminen veisi aikaa jo 3 viikkoa. Tämä piin lauseke on hyvin helppo ohjelmoida kun on ensiksi tehnyt ohjelmat suurten lukujen laskemiseksi, yhteenlaskun, kertolaskun ja jakojaskun.
2. Talvella johdin edellisestä kaavan
pii=2 2*S(j!/(2j 1)!! , j=1,2,3...
Tässä S tarkoittaa sitä mitä yleensä merkitään sigmalla.
Tällä kaavalla laskin kokeeksi piin 100 000 desimaalia, ja tehtävästä se selvisi 1 min. 52 sek'ssa. Tämä on noin kaksi kertaa nopeampi kuin kaava 1. Pienten pii-arvojen laskemiseksi nämä ovat nopeita kaavoja. Esim 4000 desimaalia tulee silänräpäyksessä.
lim(2^(n 1)B(n,2n-1)(1 (2n-1)/3 (2n-1)(2n-3)/(3*5) ... (2n-1)(2n-3)*..*(n 3)/(3*5*..*(n-1))) ->pii.
Tässä B(n,2n-1) tarkoittaa binomikertoimen käänteislukua. n on parillinen. Parittomille n tulee hieman toisenlainen kaava.Laskennan helpottamiseksi ylläolevaa kaavaa voi vielä vähän yksinkertaistaa.
Piin laskeminen 1 milj. desimaalin tarkkuudella vei aikaa n. 5 tuntia. (2.6 GHz prosessorin tietokoneella). Kaava on siitä huono että tämä alkaa olla yläraja laskentatarkkuudelle, sillä esim. 10 milj numeron laskeminen veisi aikaa jo 3 viikkoa. Tämä piin lauseke on hyvin helppo ohjelmoida kun on ensiksi tehnyt ohjelmat suurten lukujen laskemiseksi, yhteenlaskun, kertolaskun ja jakojaskun.
2. Talvella johdin edellisestä kaavan
pii=2 2*S(j!/(2j 1)!! , j=1,2,3...
Tässä S tarkoittaa sitä mitä yleensä merkitään sigmalla.
Tällä kaavalla laskin kokeeksi piin 100 000 desimaalia, ja tehtävästä se selvisi 1 min. 52 sek'ssa. Tämä on noin kaksi kertaa nopeampi kuin kaava 1. Pienten pii-arvojen laskemiseksi nämä ovat nopeita kaavoja. Esim 4000 desimaalia tulee silänräpäyksessä.
Vastaukset 9
Vanhimmat
Hienoa että olet ollut puuhakas matematiikan saralla mutta mitä helvettiä me muut hyödymme höpötyksestäsi?
Jos kerran olet keksinyt sarjan, joka suppenee piihin, niin suppeneeko se varmasti? Mistä tuollainen päähänpälkähdys on tullut? Miten sen suppenemisen perustelee? Onko käytössä tarpeeksi järeää koneistoa tuon raja-arvon löytämiseksi? Vai onko kyseessä vain laskennallisesti huomattu tosiasia? Tai mikä vielä tärkeämpää, onko se uusi keksintö, vai ainoastaan jokin oppikirjasta kopioitu esimerkki? Uuden keksiminen on tietysti ilahduttavaa , mutta ennen kuin sitä menee mainostamaan millään palstalla, niin kannattaa ottaa selvää lauseen todenperäisyydestä.
Piistä voi kehittää laskentakaavoja erilaisin geometrisin menetelmin. Muistaakseni joskus kauan sitten piti kotitehtävänä koulussa johtaa piille kaava käyttäen siniä ja/tai kosinia. Siihen kaavaan voikin sitten vaikka sijoittaa niiden sarjakehitelmät, ja varmasti saadaan sarja joka suppenee piihin.
Helpoimmat tavat on varmasti jo keksitty, mutta ei se estä keksimästä pyörää aina uudelleen.
Tuosta ensimmäisestä kaavasta ei saa kyllä mitään
selkoa. Mutta tarkoitatko toisella kaavalla
pii=2 2*S(j!/(2j 1)!! , j=1,2,3...
kenties tällaista:
2 2*(1!/3!! 2!/5!! 3!/7!! ...)
Se tosiaan suppenee nopeasti, mutta ei kyllä
lähellekään piitä:
1!/3!! = 1/720
2!/5!! = 2.9897587696e-199
joten arvo 10:llä desimaalilla on
2.0027777778
mikä ei ole lähellekään piitä!
Merkintä 3!! ei tarkoita kolmen kertoman kertomaa. Kolmen kertoman kertoma merkittäisiin (3!)!.
Kyseessä on niin kutsuttu double factorial, ks.
http://mathworld.wolfram.com/DoubleFactorial.html
Tietääkö kukaan onko tuolle suomenkielistä termiä, kaksoiskertoma tms?
Painaa taskulaskimesta sitä jakkara-merkkiä ja vot!
Uusi kaava laskea liku 2(kaksi):
15*2/6*2/5=2
No on se hyvä, että joku osaa tuonkin laskea riittävän tarkasti, kun tulee käyttöä.
Eikun tsemppiä vaan sinne.
Laita se ohjelma esille, jollei se ole jotenkin salainen. Voisi olla kiinnostava tsiikata.
Ei ohjelma ole mitenkään salainen, mutta en tiedä miten toimitaan. Ilmeisesti tarkoitat C- ja konekieliohjelmaa, etkä varsinaista näistä tulevaa tuotetta joka sitten laskee piin.