Heim  >  Artikel  >  Backend-Entwicklung  >  So berechnen Sie die Fakultät von n in der Sprache C

So berechnen Sie die Fakultät von n in der Sprache C

藏色散人
藏色散人Original
2023-01-04 15:18:5922837Durchsuche

So berechnen Sie die Fakultät von n in der Sprache C: 1. Berechnen Sie die Fakultät durch eine for-Schleife, Code wie „for (i = 1; i <= n; i++){fact *= i;}“; 2. Durch eine While-Schleife Um die Fakultät zu berechnen, lautet der Code wie folgt: „while (i <= fact="" int="" res="n;if" n=""> 1)res...“.

So berechnen Sie die Fakultät von n in der Sprache C

Die Betriebsumgebung dieses Tutorials: Windows 7-System, c99-Version, Dell G3-Computer.

Wie berechnet man die Fakultät von n in der C-Sprache?

C-Sprache, um die Fakultät von n zu finden:

Bezüglich des Problems, die Fakultät von n zu finden, schauen wir uns zunächst eine Frage an und verwenden die Frage, um den Durchbruchspunkt zu finden. ?? Ausgabe Eine Zahl Darstellung der Fakultät von n

Beispieleingabe

Beispielausgabe

120

2. Analyse

Da wir nach Fakultäten suchen, ist der Durchbruch offensichtlich,

Durchbruch Der Punkt ist : Fakultät

Konzept und Hintergrund der Fakultät

:

1️⃣Konzept:

Die Fakultät einer positiven ganzen Zahl ist das Produkt aller positiven ganzen Zahlen, die kleiner und gleich dieser Zahl sind, und die Fakultät von 0 ist 1. Die Fakultät einer natürlichen Zahl n wird mit n! geschrieben.

2️⃣Hintergrund:

Im Jahr 1808 führte Christian Kramp (1760~1826) diese Notation ein.

3️⃣Berechnungsmethode der Fakultät: Jede natürliche Zahl n größer oder gleich 1 Faktorielle Ausdrucksmethode:

n!=1×2×3×…×(n-1)×n oder n!= n× (n-1)!Hinweis: Die Fakultät von 0 ist 1, also 0! =1.

1! = 1

2! = 2 * 1 = 2 3! = 3 * 2 * 1 = 6

n! = n * (n-1) *… * 1

Sie können damit beginnen, es mit Code zu implementieren, und dann den folgenden Code überprüfen.

3. Lösung

In Bezug auf die in der C-Sprache implementierte Fakultät von n haben wir in der aktuellen Einführungsphase hauptsächlich die folgenden zwei Schreibweisen:

Die erste: Schleife

①for-Schleife

#include<stdio.h>int main(){
	int n;
	scanf("%d", &n);
	int fact = 1;
	int i;
	for (i = 1; i <= n; i++)
	{
		fact *= i;
	}
	printf("%d\n", fact);
	return 0;}
Testbeispiel: 5

1 * 2 * 3 * 4 * 5 = 120

5120--------------------------------Process exited after 1.475 seconds with return value 0请按任意键继续. . .


②while-Schleife

#include<stdio.h>int main(){
	int n;
	scanf("%d", &n);
	int fact = 1;
	int i = 1;
	while (i <= n)
	{
		fact *= i;
		i++;
	}
	printf("%d\n", fact);
	return 0;}

Testbeispiel: 6

1 * 2 * 3 * 4 * 5 * 6 = 720

6720--------------------------------Process exited after 1.549 seconds with return value 0请按任意键继续. . .

Der zweite Typ: Rekursion (Funktion ruft sich selbst auf)

1️⃣Schreibmethode eins

#include <stdio.h>int Fact(int n);int main() //主函数{
    int n, cnt;
    scanf("%d", &n);
    cnt = Fact(n);
    printf("%d\n", cnt);
    return 0;}
    int Fact(int n)    //递归函数 
    {
    int res = n;
    if (n > 1)
        res = res * Fact(n - 1);
    return res;}
Testbeispiel: 77 * 6 * 5 * 4 * 3 * 2 * 1
= 1 * 2 * 3 * 4 * 5 * 6 * 7

= 5040

75040--------------------------------Process exited after 2.563 seconds with return value 0请按任意键继续. . .
Natürlich kann man es auch so schreiben:

2️⃣Schreibmethode zwei

#include <stdio.h>int Fact(int n) //递归函数 {
    int res = n;
    if (n > 1)
        res = res * Fact(n - 1);
    return res;}int main() //主函数 {
    int n, cnt;
    scanf("%d", &n);
    cnt = Fact(n);
    printf("%d\n", cnt);
    return 0;}

Testbeispiel: 6

6 * 5 * 4 * 3 * 2 * 1 = 1 * 2 * 3 * 4 * 5 * 6 = 720

6720--------------------------------Process exited after 1.829 seconds with return value 0请按任意键继续. . .

[Verwandte Empfehlungen:

C-Sprachvideo-Tutorial

]

Das obige ist der detaillierte Inhalt vonSo berechnen Sie die Fakultät von n in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn