1) semula..."."/> 1) semula...".">

Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengira faktorial n dalam bahasa C

Bagaimana untuk mengira faktorial n dalam bahasa C

藏色散人
藏色散人asal
2023-01-04 15:18:5922836semak imbas

Cara mengira faktorial n dalam bahasa C: 1. Kira faktorial melalui gelung for, kod seperti "untuk (i = 1; i <= n; i++){fakta *= i ;}"; 2 , hitung faktorial melalui gelung while, kod seperti "while (i <= fact="" int="" res="n;if" n=""> 1)res..." .

Bagaimana untuk mengira faktorial n dalam bahasa C

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi c99, komputer Dell G3.

Bagaimana untuk mengira faktorial n dalam bahasa C?

Cari faktorial bagi n dalam bahasa C:

Mengenai Untuk mencari masalah faktorial bagi n, mari kita lihat soalan dahulu dan gunakannya untuk mencari titik terobosan.

1 Masalah

Huraian Masalah

Diberi integer n, cari faktorialnya, 0≤n≤ 12

Input

Input nombor n

Output

Output nombor, mewakili n Faktor

Sampel Input

5

Sampel Output

120

2. Analisis

Memandangkan kami mencari faktorial, titik terobosan adalah jelas >

Konsep dan latar belakang faktorial: 1️⃣Konsep:

Faktorial integer positif (faktorial ) ialah hasil darab semua integer positif kurang daripada dan sama dengan nombor ini, dan faktorial 0 ialah 1

. Faktorial bagi nombor asli n ditulis n!.

2️⃣Latar Belakang:

Pada tahun 1808, Christian Kramp (1760~1826) memperkenalkan tatatanda ini.

3️⃣Kaedah pengiraan faktorial:

Kaedah ungkapan faktorial bagi sebarang nombor asli n lebih besar daripada atau sama dengan 1:

n !=1×2 ×3×…×(n-1)×n atau n!=n×(n-1)!

Nota: Faktorial bagi 0 ialah 1, iaitu 0! =1. 1! = 1

2! * 2 * 1

Selepas memahami perkara ini, anda boleh mula mencuba untuk melaksanakannya dengan kod, dan kemudian semak kod berikut.


3. Menyelesaikan

Berkenaan faktorial n yang dilaksanakan dalam bahasa C, pada peringkat pengenalan semasa, kami mempunyai dua cara penulisan berikut:

Jenis pertama: gelung

①untuk gelung

Sampel ujian: 5
1 * 2 * 3 * 4 * 5 = 120

②while loop

#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;}

Contoh ujian: 6

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

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

Jenis kedua: Rekursi (fungsi memanggil dirinya sendiri)

#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;}

Ujian contoh: 7
6720--------------------------------Process exited after 1.549 seconds with return value 0请按任意键继续. . .
7 * 6 * 5 * 4 * 3 * 2 * 1 = 1 * 2 * 3 * 4 * 5 * 6 * 7 = 5040

1️⃣写法一Sudah tentu ia juga boleh ditulis seperti ini:

#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;}


Contoh ujian: 6

6 * 5 * 4 * 3 * 2 * 1
75040--------------------------------Process exited after 2.563 seconds with return value 0请按任意键继续. . .
= 1 * 2 * 3 * 4 * 5 * 6

= 720

2️⃣写法二[Cadangan berkaitan:

Tutorial video bahasa C
#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;}
]

Atas ialah kandungan terperinci Bagaimana untuk mengira faktorial n dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn