Chuyển đến nội dung chính

Tính giai thừa trong 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 trong c 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é!

tính giai thừa trong c (1)
tính giai thừa trong c (1)

1. Giai thừa là gì?

Chương trình giai thừa trong ngôn ngữ lập trình C: Ba phương 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ư các bạn đã biết, trong toán học giai thừa được biểu 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 một số ‘n’ là sản phẩm của tất cả các 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

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

Để tính giai thừa trong C có một trong 3 phương pháp sau:

2.1 Tính giai thừa trong C sử dụng vòng lặp for

Ví dụ:

#include

int main()

{

   int c, n, fact = 1;

   printf("nhap so de tinh giai thua\n");

   scanf("%d", &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ị:

Nhap so de tinh giai thua 6

Giai thua cua 6 = 720

2.2 Viết hàm tính giai thừa sử dụng hàm đệ quy

Các bước thực hiện:

Khai báo nguyên mẫu cho hàm có tên rec () được sử dụng để tính toán giá trị giai thừa.

Khai báo hai số nguyên a và thực tế.

Nhắc thông báo để 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 thức đệ quy và trả về giá trị đó.

In giá trị trả về cho màn hình 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;

   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ị:

tính giai thừa trong c (2)
tính giai thừa trong c (2)

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ó. Để giải quyết vấn đề bằng cách sử dụng đệ quy, trước tiên bạn phải thể hiện giải pháp của nó ở dạng đệ quy.

2.3 Viết hàm tính giai thừa không sử dụng đệ quy

Các bước thực hiện:

Khai báo nguyên mẫu cho hàm có tên factorial () được sử dụng để tính toán giá trị giai thừa.

Khai báo hai số nguyên a và thực tế.

Nhắc thông báo để 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 bằng lệnh printf ().

Ví dụ: chương trình tính giai thừa trong C không sử dụng phương 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ả:

tính giai thừa trong c (3)
tính giai thừa trong c (3)

The post Tính giai thừa trong c first appeared on Techacademy.



source https://techacademy.edu.vn/tinh-giai-thua-trong-c/

Nhận xét

Bài đăng phổ biến từ blog này

Hướng Dẫn Cài Đặt Python Trên Máy Tính?

Python là một ngôn ngữ lập trình phổ biến và được sử dụng rộng rãi trong lĩnh vực phát triển phần mềm và khoa học dữ liệu. Để bắt đầu sử dụng Python trên máy tính của bạn, bạn cần cài đặt nó. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách cài đặt Python trên máy tính một cách dễ dàng. I. Cài Đặt Python Trên Vscode Python là một ngôn ngữ lập trình phổ biến và VS Code là một trình soạn thảo mã nguồn được ưa chuộng. Kết hợp cả hai, bạn có thể tận dụng lợi ích của cả hai công cụ để phát triển ứng dụng Python một cách hiệu quả. Trong bài viết này, chúng tôi sẽ hướng dẫn cách cài đặt Python trên VS Code. Bước 1: Cài đặt VS Code Trước khi bắt đầu, bạn cần cài đặt VS Code trên máy tính của mình. Truy cập trang web vscode.com, tải xuống phiên bản phù hợp với hệ điều hành của bạn và làm theo hướng dẫn trên màn hình để hoàn tất quá trình cài đặt. Bước 2: Cài đặt Extension Python cho VS Code Sau khi cài đặt VS Code, bạn cần cài đặt extension Python để hỗ trợ phát triển ứng dụng Python t...

Phím Tắt Eclipse Thông Dụng Và Tiện Lợi Nhất ! Đọc Ngay Nếu Bạn Vẫn Đang Dùng Chuột

Việc sử dụng các thao tác click chuột nhiều lần trong Eclipse khiến các coder nhàm chán và tốn thời gian, hãy cải tạo nó bằng các phím tắt trong Eclipse. Dưới đây là danh sách một số những phím tắt thông dụng bạn nên biết. phím tắt eclipse (1) Đầu tiên hãy sử dụng phím tắt Ctrl + Shift + L để hiển thị danh sách các phím tắt trong Eclipse. phím tắt eclipse (2) Danh sách tất cả những phím tắt trong Eclipse bạn có thể áp dụng, được chia thành 12 mục khác nhau tùy thuộc vào tác dụng của phím tắt: 1. Quản lý tập tin và dự án Ctrl + N Tạo dự án mới bằng Wizard Ctrl + Alt + N Tạo dự án , tập tin, lớp, vv Alt + F Mở dự án, tệp, v.v. Ctrl + Shift + R Mở Resource (tệp, thư mục hoặc dự án) Alt + Enter Hiển thị và truy cập các thuộc tính tệp Ctrl + S Save tập tin hiện tại Ctrl + Shift + S Save tất cả các tập tin Ctrl + W Đóng tệp hiện tại Ctrl + Shift + W Đóng tất cả các tệp F5 Làm mới nội dung của phần tử đã chọn bằng hệ thống tệp cục bộ 2. Cửa sổ trình chỉnh sửa F1...

Kiểu Date Trong Java

Date trong Java là 1 trong các class mô tả ngày tháng đầu tiên trong Java. Thật đáng tiếc là hầu hết các cách thức của nó đã lỗi thời, và thay vào đó là dùng các cách thức của java.util.Calendar. Nhưng bạn vẫn có thể dùng java.util.Date để mô tả ngày tháng. 1. Các Lớp Date, Time, Calendar Trong Java Java cung cấp 1 số class liên quan tới thời gian và lịch (Calendar), sau đây là danh sách các class này: Class Mô tả java.util.Date 1 lớp đại diện cho ngày tháng năm và thời gian. Tiếc là hầu hết các cách thức của nó đã bị lỗi thời, khuyến cáo là không nên dùng các cách thức đó, tuy nhiên lớp Date vẫn được dùng rỗng rãi. java.util.concurrent.TimeUnit TimeUnit là 1 Enum mô tả các đơn vị ngày tháng năm và thời gian. java.sql.Date 1 lớp mô tả ngày tháng năm. Thông tin về thời gian bị cắt bỏ. Lớp này thường dùng trong JDBC. java.sql.Time 1 lớp mô tả thời gian (Giờ phút giây, milli giây), và không chứa thông tin ngày tháng năm. Lớp này thường dùng trong...