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 i,giaithua=1,sobatky; printf("Nhap mot so bat ky: "); scanf("%d",&sobatky); for(i=1;i<=sobatky;i++){ giaithua=giaithua*i; } printf("\nGiai thua cua %d la: %d",sobatky,giaithua); printf("\n\n===========================\n"); printf("VietJack 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("\n\n===========================\n"); printf("VietJack 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ả: