Chắc bạn đã khá quen thuộc với dãy Fibonacci là gì rồi. Đó là dãy số mà số tiếp theo là tổng của hai số liền trước, ví dụ: 0, 1, 1, 2, 3, 5, 8, 13, .... với hai số đầu tiên là 0 và 1. Trong chương này, mình sẽ trình bày hai cách để in dãy Fibonacci, đó là không sử dụng đệ qui và sử dụng đệ qui.
Chương trình in dãy Fibonacci không sử dụng hàm đệ qui trong C
#include #include int main[] { int n1=0,n2=1,n3,i,sopt; printf["Ban hay nhap so phan tu trong day Fibonacci: "]; scanf["%d",&sopt]; printf["\n%d %d",n1,n2]; //in hai so 0 va 1 for[i=2;i0]{ n3 = n1 + n2; n1 = n2; n2 = n3; printf["%d ",n3]; indayFibonacci[n-1]; } } // ham main de in day Fibonacci int main[]{ int n; printf["Ban hay nhap so phan tu trong day Fibonacci: "]; scanf["%d",&n]; printf["Hien thi day Fibonacci tren man hinh\n\n"]; printf["%d %d ",0,1]; indayFibonacci[n-2]; //n-2 boi vi 2 phan tu dau tien da duoc in 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ả:
Trang trước
Trang sau
Bài viết liên quan
160 bài học ngữ pháp tiếng Anh hay nhất
155 bài học Java tiếng Việt hay nhất
100 bài học Android tiếng Việt hay nhất
247 bài học CSS tiếng Việt hay nhất
197 thẻ HTML cơ bản
297 bài học PHP
101 bài học C++ hay nhất
97 bài tập C++ có giải hay nhất
208 bài học Javascript có giải hay nhất
Học cùng VietJack
Trang web chia sẻ nội dung miễn phí dành cho người Việt.
Lớp 1-2-3 Lớp 4 Lớp 5 Lớp 6 Lớp 7 Lớp 8 Lớp 9 Lớp 10 Lớp 11 Lớp 12 Lập trình Tiếng Anh
Chính sách
Chính sách bảo mật
Hình thức thanh toán
Chính sách đổi trả khóa học
Chính sách hủy khóa học
Tuyển dụng
Liên hệ với chúng tôi
Tầng 2, số nhà 541 Vũ Tông Phan, Phường Khương Đình, Quận Thanh Xuân, Thành phố Hà Nội, Việt Nam
Phone: 084 283 45 85
Email: vietjackteam@gmail.com
CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK
Người đại diện: Nguyễn Thanh Tuyền
Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.
Thiếu F[0] = 0 đấy. Số này không bỏ được.
Viết công thức
S[n] = F[1] + F[2] + ... + F[n]
Cách 1Xét:
F[3] = F[1] + F[2]
F[4] = F[1] + 2F[2]
F[5] = 2F[1] + 3F[2]
…
F[n] = F[n-2]F[1] + F[n-1]F[2].
thay F[1] và F[2]: S[n] - 2 = S[n-2] + S[n-1] - 1 S[n] = S[n-2] + S[n-1] + 1.
Vậy làm thế quái nào cho nó thuần nhất đây
Đặt S[n] = s[n] - 1. Pt trở thành s[n] - 1 = s[n-1] + s[n-2] + [-1 -1 + 1]
s[n] = s[n-1] + s[n-2] với s[1] = 2 và s[2] = 3, giống Fibo cơ bản. Vậy
S[n] = F[n+2] - 1
.Cách 2Tất nhiên viết “một dọc” sai phân sẽ nhanh hơn nhiều rồi
do delta_F[i] = F[i+1] - F[i] = F[i-1]
nênsigma[i=1..n] delta_F[i+2] = F[n+2] - F[2] = F[n+2] - 1
Fibonacci là dãy số kinh điển trong toán học được tìm thấy cách đây hơn 800 năm. Đến nay các nhà khoa học phát hiện nhiều trùng hợp thú vị về dãy số này trong tự nhiên.
Dãy Fibonacci là dãy vô hạn các số tự nhiên bắt đầu bằng 1 và 1, sau đó các số tiếp theo sẽ bằng tổng của 2 số liền trước nó.
Cụ thể, các số đầu tiên của dãy Fibonacci là 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610…
Xem thêm hình minh họa dưới đây để hiểu thêm về dãy Fibonacci.
Trong bài viết này chúng ta sẽ thực hiện viết thuật toán cho chương trình tính số Fibonacci.
- Kiếm tiền Accesstrade, kiếm tiền tại nhà với Accesstrade.vn – Tiếp thị liên kết
- MegaURL – Rút gọn link kiếm tiền có giá cao tại Việt Nam
- Top 4 App kiếm tiền online trên điện thoại tốt nhất 2022
Sử dụng đệ quy để tính Fibonacci
Đối với cách này đòi hỏi bạn cần phải nắm rõ về cách hoạt động của hàm Đệ quy, nếu bạn vẫn chưa biết về đệ quy có thể theo dõi ở các bài viết tiếp theo mình sẽ có bài viết cụ thể.
Chương trình minh họa
#include using namespace std; int tinhFibonaci[int n]//Hàm tính Fibonaci bằng đệ quy { if[n==0] return 0; if[n