Bài 39. Cách tính giai thừa trong C/C++

1
21929
Cách tính giai thừa trong C/C++
Cách tính giai thừa trong C/C++
Bài số 37 trong 69 bài của series Học C Không Khó

Cách tính giai thừa trong c/c++ ? Bài viết này mình sẽ giới thiệu với các bạn cách tính giai thừa bằng phương pháp đệ quy và không dùng đệ quy.

Cách tính giai thừa trong C/C++
Công thức tính giai thừa trong toán học

Cách tính giai thừa bằng phương pháp đệ quy

  • Một số n! được định nghĩa như sau: n! = n*(n-1)*…*3*2*1
  • Trường hợp đặc biệt ta quy ước 0! =1
  • Công thức truy hồi: n! = n*(n-1)!

Từ công thức truy hồi ta có thể xây dựng một hàm đệ quy để tính giai thừa như sau:

  • Nếu n == 1 thì ta trả về giá trị 1.
  • Nếu không phải thì ta dùng công thức truy hồi để tính (n-1)!

Từ đây ta có thể viết chương trình tính giai thừa bằng code C++

Sau khi chạy chương trình trên ta có kết quả

Code C

Cách tính giai thừa bằng phương pháp lặp

  • Đầu tiên khởi tạo một biến giaithua với giá trị bằng 1;
  • Cho vòng lặp chạy từ 1 đến n. Với mỗi giá trị của i thì ta gán giaithua = giaithua*i;

Từ đây ta viết hàm tính giai thừa như sau:

Chương trình tính giai thừa bằng phương pháp lặp dùng code C++

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi!

Theo dõi lập trình không khó tại:

Các bài viết trong SeriesBài trước: Bài 38. Đổi số thập phân sang bát phân và ngược lạiBài sau: Bài 40. Cách tính số Fibonacci trong C/C++
avatar

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

  Subscribe  
newest oldest most voted
Notify of
Huy Nguyễn
Member
Huy Nguyễn

2
3
4
5
6
7

int giaiThua(int n)
{
if (n == 1)
return 1;
return n * giaiThua(n – 1);
}
anh giẢI THÍCH lại đoạn này giúp em làm sao mà để máy hiểu giaithua(n-1)=(n-1)!