Az I. 445. feladat (2018. január) |
I. 445. A matematikában a \(\displaystyle \pi\) nemcsak fontos természeti állandó, hanem a tudásterület egyik jelentős szimbóluma is. Minél pontosabb meghatározása ezért régóta foglalkoztatja nemcsak a matematikusokat, hanem a matematika iránt érdeklődő laikusokat is. Az évszázadok során sokféle közelítő eljárást dolgoztak ki a \(\displaystyle \pi\) meghatározására. Ezek közül Machin sorozata egy gyorsan konvergáló, tehát viszonylag kevés számú tag kiszámításával is kellően sok jegyre pontos eredményt adó megoldás. Machin a
\(\displaystyle \frac{\pi}{4}=4\arctg \frac{1}{5}-\arctg \frac{1}{239} \)
összefüggés sorbafejtésével a
\(\displaystyle \frac{\pi}{4} = 4\left[ \frac{1}{5}-\frac{1}{3}\left(\frac{1}{5}\right)^{\!\!3} +\frac{1}{5}\left(\frac{1}{5}\right)^{\!\!5} -\frac{1}{7}\left(\frac{1}{5}\right)^{\!\!7}+\cdots \right] -\)
\(\displaystyle {} -\left[\frac{1}{239}-\frac{1}{3} \left(\frac{1}{239}\right)^{\!\!3}+\frac{1}{5}\left(\frac{1}{239}\right)^{\!\!5}-\ldots \right]\)
képletet kapta.
Készítsünk programot, amely a fenti sorozat alkalmazásával meghatározza \(\displaystyle \pi\) értékét legalább 1000 tizedesjegy pontossággal. A nagy pontosságú aritmetikai műveleteket (összeadás, kivonás, szorzás, osztás) nekünk kell megvalósítanunk. A megoldás elkészítése során legfeljebb 32 bit pontosságú egész számokat használjunk, és a ne alkalmazzuk a programozási nyelv vagy fejlesztői környezet által biztosított, 32 bitnél több jeggyel dolgozó aritmetikai műveleteket támogató modulokat sem.
A kapott eredmény ellenőrzésére a http://www.geom.uiuc.edu/~huberty/math5337/groupe/digits.html címen található adatokat javasoljuk.
Beküldendő egy i445.zip tömörített állományban a megoldás forráskódja, a megoldás által készített, a \(\displaystyle \pi\) első 1000 tizedesjegyét tartalmazó szöveges állomány, továbbá a megoldás során használt eljárások rövid dokumentációja.
(10 pont)
A beküldési határidő 2018. február 12-én LEJÁRT.
Értékelés: A feladatra mindössze 6 megoldás érkezett, sajnos ebből csak 2 teljesértékű.
Mintamegoldás: A közölt mintamegoldás Vígh Mártontól, a Budapesti Fazekas Mihály Gimnázium 11. osztályos tanulójától származik és C# nyelven készült. i445.zip
Statisztika:
6 dolgozat érkezett. 10 pontot kapott: Horcsin Bálint, Vígh Márton. 5 pontot kapott: 1 versenyző. 2 pontot kapott: 1 versenyző. 0 pontot kapott: 1 versenyző. Nem versenyszerű: 1 dolgozat.
A KöMaL 2018. januári informatika feladatai