Hướng dẫn sử dụng 3 cách tính giai thừa trong C
- 03 October 2018
- Tự học lập trình C – C++
Làm thế nào để bạn thực hiện cách tính giai thừa trong C? Trong lập trinh C ta có thể thực hiên tính giai thừa theo hai cách chính sau: sử dụng vòng lặp và sử dụng hàm đệ qui và tạo hàm. Hãy cùng tìm hiểu nội dung của từng cách được đề cập đến trong bài viết dưới đây nhé!
Bạn đang đọc: Hướng dẫn sử dụng 3 cách tính giai thừa trong C
1. Giai thừa là gì?
Chương trình giai thừa trong ngôn từ lập trình C : Ba giải pháp để tìm giai thừa, sử dụng vòng lặp for, sử dụng đệ quy và bằng cách tạo hàm. Như những bạn đã biết, trong toán học giai thừa được trình diễn bằng cách sử dụng kí hiệu : ‘ ! ‘. Ví dụ vậy năm giai thừa sẽ được viết là ( 5 ! ), N giai thừa là ( n ! ). Ngoài ra, n ! = n * ( n-1 ) * ( n-2 ) * ( n-3 ) … 3.2.1 và giai thừa 0 được định nghĩa là một ví dụ, 0 ! = 1 .
Giai thừa của 1 số ít ‘ n ‘ là loại sản phẩm của toàn bộ những số từ 1 đến số ‘ n ‘
nó được ký hiệu bằng n !. Ví dụ n = 5 thì giai thừa 5 sẽ là 1 * 2 * 3 * 4 * 5 = 120. 5 ! = 120
2. Các cách tính giai thừa trong lập trình C
* Tính giai thừa trong C sử dụng vòng lặp for
Chạy ví dụ :
# include
int main ( )
{
int c, n, fact = 1 ;
printf ( ” nhap so de tinh giai thua \ n ” ) ;
scanf ( ” % d “, và n ) ;
for ( c = 1 ; c < = n ; c + + )
fact = fact * c ;
printf ( " giai thua cua % d = % d \ n ", n, fact ) ;
return 0 ;
}
Kết quả hiển thị :
* Tính giai thừa sử dụng hàm đệ quy
Các bước :
- Khai báo nguyên mẫu cho hàm có tên rec ( ) được sử dụng để giám sát giá trị giai thừa .
- Khai báo hai số nguyên a và thực tiễn .
- Nhắc thông tin để nhập bất kể số nào để tính giai thừa .
- Cho phép người dùng nhập số bằng scanf ( ) .
- Sử dụng hàm rec ( ) để tính giá trị giai thừa bằng phương pháp đệ quy và trả về giá trị đó .
- In giá trị trả về cho màn hình hiển thị bằng lệnh printf ( ) .
Ví dụ :
# include
long tinhGiaithua ( int n ) {
if ( n > 0 ) {
return n * tinhGiaithua ( n – 1 ) ;
} else {
return 1 ;
}
}
/ * *
* Ham main
* /
int main ( ) {
int a = 5;
Xem thêm: Làm Thế Nào Để Iphone 6 Chạy Nhanh Hơn
int b = 0 ;
int c = 10 ;
printf ( ” Giai thua cua % d la : % d \ n “, a, tinhGiaithua ( a ) ) ;
printf ( ” Giai thua cua % d la : % d \ n “, b, tinhGiaithua ( b ) ) ;
printf ( ” Giai thua cua % d la : % d “, c, tinhGiaithua ( c ) ) ;
}
Kết quả hiển thị :
Phép đệ quy là một kỹ thuật trong đó một hàm gọi chính nó, ví dụ, trong hàm giai thừa trên mã đang gọi chính nó. Để xử lý yếu tố bằng cách sử dụng đệ quy, thứ nhất bạn phải bộc lộ giải pháp của nó ở dạng đệ quy .
* Tính giai thừa không sử dụng đệ quy
Các bước tính :
- Khai báo nguyên mẫu cho hàm có tên factorial ( ) được sử dụng để giám sát giá trị giai thừa .
- Khai báo hai số nguyên a và trong thực tiễn .
- Nhắc thông tin để nhập bất kể số nào để tính giai thừa .
- Cho phép người dùng nhập số bằng scanf ( ) .
- Sử dụng hàm factorial ( ) để tính giá trị giai thừa và trả về giá trị đó .
- In giá trị trả về cho màn hình hiển thị bằng lệnh printf ( ) .
Ví dụ chương trình tính giai thừa trong C không sử dụng giải pháp đệ quy :
# include
long tinhGiaithua ( int n ) {
int i ;
long giai_thua = 1 ;
if ( n = = 0 | | n = = 1 ) {
return giai_thua ;
} else {
for ( i = 2 ; i < = n ; i + + ) {
giai_thua * = i ;
}
return giai_thua ;
}
}
/ * *
* Ham main
* /
int main ( ) {
int a = 5 ;
int b = 0 ;
int c = 10 ;
printf ( " Giai thua cua % d la : % d \ n ", a, tinhGiaithua ( a ) ) ;
printf ( " Giai thua cua % d la : % d \ n ", b, tinhGiaithua ( b ) ) ;
printf ( " Giai thua cua % d la : % d ", c, tinhGiaithua ( c ) ) ;
}
Kết quả:
Xem thêm: Làm Thế Nào Để Học Giỏi Hóa 8
Các bài tập và kiến thức và kỹ năng về C khác bạn nên học :
Source: http://wp.ftn61.com
Category: Thủ Thuật
Để lại một bình luận