Ich berechne die Fakultät mit der PHP Funktion bcmul(). Das erlaubt mir beliebig lange Zahlen zu multiplizieren. Als Übergabeparameter will sie strings und keine Integer oder Float. Und sie gibt auch einen string zurück. Wirklich sehr praktisch das Teil :D.
MOD3000
Erlaubter Speicher ist 8 MB und zeit hat es 5 min. Wenn ich eine Zahl größer 19381 nehme dann braucht es nur 1 sek um wieder abzubrechen und es passiert gar nix. Und wenn ich die 19381 nehme dann dauert es 12 sek und ich habe sie.
@stanny: Ich nehme zwei verschiedene Variablen, um zwischen der Ein- und Ausgabe unterscheiden zu können.
MOD3000
Du verbrauchst mit der Loesung einiges an Stack, was hast du php denn als Speicherwert erlaubt und wie lange darf das Ding rechnen?
Erlaubter Speicher ist 8 MB und zeit hat es 5 min. Wenn ich eine Zahl größer 19381 nehme dann braucht es nur 1 sek um wieder abzubrechen und es passiert gar nix. Und wenn ich die 19381 nehme dann dauert es 12 sek und ich habe sie.
Die Fakultät von 19380 ist (74675 Stellen)
67892939877216969015997428779710897260745295869267
62056607476375442016020836000374903551252445467575
61172346337089938558482459627074196290043323665245
40983594101066676801130614599812932838098499218392
27448433669673282332913559496238551983923953632723
26496612203997336590629422456343408456545208311458
45338445333711475059751071431811667215134648591320
68910278659446096747416736154840835748618543175600
79809905107124197435941265868717167515598930530571
03955625229387085321700004249700736817698783782774
34735540699781658885516290970244738408118361071169
20812676473652699795320491701115787691407995228869[.........]
@stanny: Ich nehme zwei verschiedene Variablen, um zwischen der Ein- und Ausgabe unterscheiden zu können.