Hi, Phòng khách!
Trang chủ
Đăng nhập
Công Cụ Tìm Kiếm

Lần hoạt động

| |
Tìm kiếm

  Đệ quy trong C

Bài viết được duyệt bởi PuaruVN
Đăng ngày :22.05.2016 / 21:08[TOP]
Xampp
Xampp
Active Member
Đệ quy là quá trình lặp đi lặp lại một thành phần theo cùng một cách. Dưới đây là một ví dụ minh họa tổng quát:

Mã Code Vina4u
void tenhamdequi()
{
tenhamdequi(); /* goi chinh no */
}

int main()
{
tenhamdequi();
}

Ngôn ngữ lập trình C hỗ trợ đệ quy, ví dụ, một hàm có thể gọi đến chính nó. Nhưng khi bạn sử dụng hàm đệ quy, lập trình viên cần phải cẩn thận định nghĩa điều kiện thoát khỏi hàm, phòng khi gặp phải vòng lặp vô hạn.

Hàm lặp đệ quy rất hữu dụng để giải quyết các vấn đề trong toán học như tính toán giai thừa, tạo dãy Fibonacci, …

Tính toán giai thừa trong C
Dưới đây là một ví dụ, có thể tính toán giai thừa của một số cho trước sử dụng hàm đệ quy:

Mã Code Vina4u
#include <stdio.h>

int tinhgiaithua(unsigned int i)
{
if(i <= 1)
{
return 1;
}
return i * tinhgiaithua(i - 1);
}
int main()
{
int i = 10;
printf("Gia tri giai thua cua %d la %d\n", i, tinhgiaithua(i));

printf("\n===========================\n");
printf("VietJack chuc cac ban hoc tot! \n");
return 0;
}

Biên dịch và thực thi chương trình C trên sẽ cho kết quả sau:


Dãy Fibonacci trong C
Dưới đây là một ví dụ khác, tạo ra dãy Fabonacci cho một số cho trước sử dụng hàm đệ quy:

Mã Code Vina4u
#include <stdio.h>

int day_fibonaci(int i)
{
if(i == 0)
{
return 0;
}
if(i == 1)
{
return 1;
}
return day_fibonaci(i-1) + day_fibonaci(i-2);
}

int main()
{
int i;
for (i = 0; i < 10; i++)
{
printf("%d\t%n", day_fibonaci(i));
}
printf("\n===========================\n");
printf("VietJack chuc cac ban hoc tot! \n");
return 0;
}

Biên dịch và thực thi chương trình C trên sẽ cho kết quả sau:


Đã chỉnh sửa. Xampp (22.05.2016 / 21:10) [1]
Đăng ngày :22.05.2016 / 21:10 #1
Close
miSey
Active Member
♥♥♥♥♥♥
[9029]
Vui lòng đăng nhập để thấy Links!
Xampp (22.05.2016 / 14:0
Đệ quy là quá trình lặp đi lặp lại một thành phần theo cùng một cách. Dưới đây là một ví dụ minh họa tổng quát:

[CODE]void tenhamdequi()
{
tenhamdequi(); /* goi chinh no */
}

int main()
{
Post bài nhẹ nhẹ hoy thìm. Post nhiều loãng box ko ai like
Bình luận bài viết
Đăng Nhập để Bình luận và sử dụng đầy đủ tính năng Diễn Đàn
  Tổng số: 2 Bình luận

Chia sẻ bài viết
Đám Mây Từ Khóa
Bài Viết Cùng chuyên mục
Lọc theo tác giả
Xem chủ để ngoại tuyến (Offline)

Trong diễn đàn

Sắp xếp theo thứ tự từ trên xuống
BigTruyen.info - Kho Truyện Tranh Online Khổng lồ
Trang chủ