Mi a trükkje ennek a problémának?
Nem házi feladat.
Legyen n=905046693099819, m=626803395538788 (random számok)
Mennyi frac(n!/e) ill. frac(m!/e) értéke 8 tizedes pontossággal, vagy 0.xxxxxxxx... formában?
frac()=törtrész, a számból kivonjuk az egész részét
!=faktoriális, e=2.71828... az Euler-féle szám
e értékét is 10^15+ számjegy pontossággal kéne tudni, használni, (ami lehetetlen,) vagy nem?
Próbálgattam már egy ideje, de amire jutottam lényegében nem több mint az első 1000 természetes szám n-re, így fest 8 tizedesjegyig:
pastebin pont com / NSJgjV49
Már töröm a fejem rajta egy ideje, de én se jutok közelebb ahhoz, hogy mi az oka mindennek. Talán érdekes lehet, hogy maga az e szám faktoriálisok reciprokának sorösszege.
És egy hasonló észrevétel: nem csak az n!/e számok közel egészek, hanem az n!*e számok is. Bár ezt legalább valamennyire lehet érteni, mivel n!*(1 + 1/1! + 1/2! + ... + 1/n! + 1/(n+1)! + ...) tagjainak mindegyike egész 1/n!-ig, utána meg már egy mértaninál is durvábban csökkenő sor n feletti része jön, ami nagyon kicsi.
!n jelölés: [link]
!n = {n!/e} = n!*(szumma_i_0_n((-1)^i/i!))
A frac(n!/e) helyett inkább a legközelebbi egésztől vett különbséget nézem, a váltakozó 0.000.. és 0.999..-cel szórakozni maradjon a kérdező öröme.
n!/e - {n!/e} = n!/e - n!*(szumma_i_0_n((-1)^i/i!)) = n!*(1/e - szumma_i_0_n((-1)^i/i!)) = n!*(szumma_i_0_∞((-1)^i/i!)) - szumma_i_0_n((-1)^i/i!))) = n! * szumma_i_n+1_∞((-1)^i/i!)) ami n szerint nullához tart, hiszen az egész kifejtve így néz ki:
1/(n+1) - 1/((n+1)(n+2)) + 1/((n+1)(n+2)(n+3)) - ...
Ez egy Leibniz-sor, abból is egy olyan szép, hogy az 1/(n+1) triviális felső küszöb a sorösszegre, tehát az eredeti n!/e - {n!/e} legalább 1/(n+1) szerint tart a nullához.
Rájöttem, hogy mégis csak megoldható.
Az itt leírt e^x végtelen sorösszegből kifejeztem 1/e közelítő formuláját ami első körbe annyi hogy x helyébe -1-et írok. Ezt véges pontossággal közelítve kijön hogy n iterációig összegzem akkor
i iterátor fut 0-tól n-ig ha n páros akkor 1/i! hozzáadom ha páratlan kivonom. Ezt továbbgondolva ha megszorzom ezt az összeget m!-al akkor egész számot fogok kapni abban az esetben ha m nem több mint n. Ezért a törtrész közelítésnél elegendő m+1-től n-ig futtatni az i iterátort és összegezni.
például frac(40!/e) esetében
81/41-ről indít, ennek a törtrészét kell venni azaz 40!/41!-ről indít
a törtrész képzés innestől indul. Vagyis 40!/41! + 40!/42! - 40!/43! ...
frac(40!/e) esetében
41!/42! - 41!/43! + 41/44! - 41!/45!
Ki lehet mondani, hogyha n páros akkor n/(n+1)-től induljunk a törtrész képzéssel, ha páratlan akkor 1/n-től. A faktoriálisokat se kell végig szorozni mivel kiesnek a tagok ezért pl 41!/43! = 1/(42*43)
Vagyis n=905046693099819 esetében 8 tizedesjegyig 0,00000000 és m=626803395538788 esetében 0,99999999.
Csak hogy pontosabb legyek
frac(n!/e) esetében a törtész ~ 1.10491536804025 * 10^-15 és
frac(m!/e) esetében ~ 0.999999999999998404603409749534
Honnan jött ez a feladat egyébként?
„Sajt” hiba (viccesen mondva):
"81/41-ről indít, ennek a törtrészét kell venni azaz 40!/41!-ről indít
a törtrész képzés innestől indul. Vagyis 40!/41! + 40!/42! - 40!/43! .."
Nem 40!/41!-ről hanem 40/41-ről indít. Ez hogy jön ki? Úgy jön ki, hogyha elvégezzük az összeg beszorzását 40!-al, akkor ahogy írtam már előzőleg, az ezt megelőző tagig egész lesz az összegzés. Az egészt azt egy az egybe eldobjuk, sőt nem is számolunk vele, a törtrész kiszámításánál (múltkor bonyolultabban közelítettem meg) -1/41-től indítunk ami megfelel az 1-1/41-nek azaz 40/41-nek, hiszen bármely k pozitív egészből kivonunk tetszőleges egy alatti pozitív p/q racionálist akkor annak törtrésze 1-p/q lesz, ez triviális. A másik amit külön nem mondtam, de nyilvánvalónak kell lennie, hogy ugye 1/e-vel szorozva annak törtrészét vettem ami ugyanannyi mint e-vel osztani és annak törtrészét venni.
Köszönöm a válaszokat!
Nem feladat, csak valamilyen számítás során felmerült a gyanú, hogy minden nagyobb n esetén 0.999... vagy 0.000... lesz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!