Tính tổng dãy fibonacci c++

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

PDF

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

[lưu ý là không phải tính ntn đâu, ghi vậy thôi]
S[n] = F[1] + F[2] + ... + F[n]

Cách 1

Xé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

Ta thêm 1 lượng v vào, vậy v = 2v + 1 v = -1.
Đặ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 2

Tấ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ên
sigma[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

Chủ Đề