|
|
\require{AMSmath}
Groot getal delen door groot getal
Is dit uit te rekenen op een efficiente manier?
13983816!/(139838163016*13980800!)
Mrbomb
Student universiteit - woensdag 7 januari 2004
Antwoord
Het probleem van te grote getallen kan je oplossen door in te zien dat
13983816! / 13980800! = 13980801.13980802...13983816 13983816^3016 = 13983816.13983816...13983816
Beide produktreeksen hebben een even groot aantal termen. Je kan het gezochte getal dus schrijven als
(13980801/13983816).(13980802/13983816)...(13983816/13983816)
Elk van die factoren valt zeker binnen het bereik van de variabelen in een eenvoudige programmeertaal. Ook de geintroduceerde afrondingsfouten zouden beperkt moeten blijven bij een produkt van 3016 termen. Ik heb het rekenpakket Maple gebruikt om een exacte uitkomst te bekomen. Teller en noemer zijn wel veel te groot om hier te geven, maar de waarde van die breuk is
0,72241334764711192074360315897504583268680227741147...
Met een eenvoudig programmaatje in QuickBasic (tijdelijk de enige compiler die ik ter beschikking heb) bekom ik
0,7224133476471087
een meer dan behoorlijke precisie dus.
Een andere methode zou kunnen zijn om over te stappen op logaritmen.
|
Vragen naar aanleiding van dit antwoord? Klik rechts..!
donderdag 8 januari 2004
|
|
home |
vandaag |
bijzonder |
gastenboek |
statistieken |
wie is wie? |
verhalen |
colofon
©2001-2024 WisFaq - versie 3
|