14/08/2018, 13:41
Giai thừa - Cách tính giai thừa trong C
Bài tập Viết một chương trình C để tính giai thừa của một số bất kỳ được nhập từ người dùng, theo hai cách: sử dụng vòng lặp và sử dụng hàm đệ qui. Chương trình C sử dụng vòng lặp để tính giai thừa #include<stdio.h> #include<conio.h> int main(){ int ...
Bài tập
Viết một chương trình C để tính giai thừa của một số bất kỳ được nhập từ người dùng, theo hai cách: sử dụng vòng lặp và sử dụng hàm đệ qui.
Chương trình C sử dụng vòng lặp để tính giai thừa
#include<stdio.h>
#include<conio.h>
int main(){
int i,giaithua=1,sobatky;
printf("Nhap mot so bat ky: ");
scanf("%d",&sobatky);
for(i=1;i<=sobatky;i++){
giaithua=giaithua*i;
}
printf("
Giai thua cua %d la: %d",sobatky,giaithua);
printf("
===========================
");
printf("code24h chuc cac ban hoc tot!");
getch();
}
Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Chương trình C sử dụng hàm đệ qui để tính giai thừa
#include<stdio.h>
#include<conio.h>
// khai bao ham tinhgiaithua
long tinhgiaithua(int n)
{
if (n == 0)
return 1;
else
return(n * tinhgiaithua(n-1));
}
// ham main de tinh giai thua
int main()
{
int sobatky;
long giaithua;
printf("Nhap mot so bat ky: ");
scanf("%d", &sobatky);
giaithua = tinhgiaithua(sobatky);
printf("Giai thua cua %d la: %ld", sobatky, giaithua);
printf("
===========================
");
printf("code24h chuc cac ban hoc tot!");
getch();
}
Biên dịch và chạy chương trình C trên sẽ cho kết quả: