Heim >Backend-Entwicklung >C#.Net-Tutorial >So implementieren Sie die Fakultät in der Sprache C
So implementieren Sie die Fakultät in der Sprache C
Geben Sie eine Zahl über die Tastatur ein und ermitteln Sie die Fakultät dieser Zahl , das ist n!.
Algorithmisches Denken
Zunächst müssen wir uns über die Definition von Fakultät im Klaren sein. Die sogenannte Fakultät von n bedeutet, mit 1 zu beginnen und mit einer Zahl zu multiplizieren das ist 1 größer als die vorherige Zahl, bis n , ausgedrückt als Formel: 1×2×3×4×…×(n-2)×(n-1)×n=n!
Spezifisch Operation: Verwenden Sie Schleifen, um Probleme zu lösen, stellen Sie die Schleifenvariablen auf i ein, der Anfangswert ist 1, i ändert sich von 1 auf n, multipliziert i und summiert nacheinander und weist das Produkt der Summe zu.
① Definieren Sie die Variablensumme und weisen Sie ihr einen Anfangswert von 1 zu.
② i erhöht sich um 1.
③ Bis i n überschreitet.
Programmcode
#include <stdio.h> int main() { int i,n; double sum=1; scanf("%d",&n); for(i=1;i<=n;i++) sum=sum*i; printf("%d!=%lf",n,sum); printf("\n"); return 0; }
Ergebnis der Debug-Operation
Eingabe 5, die entsprechende faktorielle Ausgabe ist wie folgt;
5 5!=120.000000
Eingabe 20, die entsprechende faktorielle Ausgabe Die Situation ist wie folgt:
20 20!=2432902008176640000.000000
Zusammenfassung
① Da die Fakultät im Allgemeinen groß ist und den Bereich überschreitet, den ganze Zahlen oder sogar lange ganze Zahlen darstellen können, werden Variablen definiert kann nicht als Ganzzahl definiert werden, es sollte jedoch eine Zahl mit doppelter Genauigkeit in Betracht gezogen werden.
② Während des Trainings wurde eine Variable mit doppelter Genauigkeit definiert, um die Ergebnisse zu speichern. Daher sollten Sie bei der Ausgabe auf das Ausgabeformat von Zahlen mit doppelter Genauigkeit achten.
Empfohlenes Tutorial: C-Sprach-Tutorial
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Fakultät in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!