ich habe ein Programm geschrieben, dass mit großen Zahlen arbeitet:
Code: Alles auswählen
fac = lambda n:[1,0][n>0] or fac(n-1)*n #Funktion, die eine Fakulät berechnet
a=366
b=input() #Zahl zwischen 0 und 400
c=fac(a-1)/fac(a-b)/a**(b-1.0)
print c #Ergebnis, sollte zwischen 0 und 1 liegen
Traceback (most recent call last):
File "Gebw2.py", line 4, in <module>
c=fac(a-1)/fac(a-b)/a**(b-1.0)
OverflowError: (34, 'Numerical result out of range')
Ich verstehe, dass die Zahlenwerte ein wenig hoch sind aber so sind sie eben. Was kann man denn da machen?