2016-06-03 14 views
-3

Ich mag würde die gegebenen factorials Zahlen in JavascriptSumme Factorial Zahlen in Javascript

'1! + 2! + 3! + ... + n!' 
+0

Ich weiß nicht, wie kann ich dieses Programm schreiben.Klicken Sie Hilfe – angular

+0

Ich würde zuerst einige Grundlagen lernen und in Funktionen und Schleifen suchen. Dann würde ich untersuchen, wie man den Faktor einer Zahl berechnet. http://eloquentjavascript.net kann mit Funktionen und Schleifen helfen, https://www.google.com mit dem Rest. –

+2

Während Sie dabei sind, versuchen Sie zu schauen, was dynamische Programmierung ist, um die Berechnung zu beschleunigen. –

Antwort

0

Sie verwenden können Fakultätsfunktion zusammenzufassen: Iterative Funktion:

function sFact(num) 
{ 
    var rval=1; 
    for (var i = 2; i <= num; i++) 
     rval = rval * i; 
    return rval; 
} 

rekursive

function rFact(num) 
{ 
    if (num === 0) 
     { return 1; } 
    else 
     { return num * rFact(num - 1); } 
} 

Ich kopierte diese Funktion von this Link. Was können Sie jetzt tun?

Angenommen n-Wert ist 6.

var n = 6; 
    var sum = 0; 
    for(var i=1;i<=n;i++) 
    { 
     sum = sum + rFact(i);//Here you can use one of factorial funciton. I am using recursive function 
    } 

document.print("The answer is "+ sum); 
+0

Es ist zwar großartig, dass Sie helfen wollen, aber ich würde empfehlen, Fragen von geringer Qualität zu vermeiden. Auch das Kopieren anderer Antworten ist nicht möglich. –

+0

Sicher @ Felix. Ich schätze Ihre Empfehlung. – CodeLover

+0

@FelixKling ich kopierte und erwähnte auch. – CodeLover

0

Die naive Lösung tatsächlich wäre jede faktorielle Berechnung und fügt sie zusammen, was eine Komplexität von O hat (n ²). Wenn Sie jedoch clever sind, können Sie einen Algorithmus entwerfen, der das gleiche Problem mit einer Komplexität von 0 löst (n). Werfen Sie einen Blick auf das Muster des folgenden Beispiels, das die Summe der factorials von 1 bis 4.

1!+2!+3!+4! = 
1+1*2+1*2*3+1*2*3*4 

Hinweis berechnet, wie Sie Ergebnisse aus früheren Berechnungen mehrfach sind die Wiederverwendung? Dies kann ausgenutzt werden. Sie können die Summe aller Fakultäten bis n mit einem Programm so etwas berechnen.