1.Dãy {an} được cho dưới dạng công thức truy hồi:
an = 2an-1 +an-2;
a0 =1; a1 = 2
Lập chương trình in ra màn hình n phần tử đầu của dãy theo.
- Dùng mảng 1 chiều để lưu trữ các phần tử của dãy
1.Dãy {an} được cho dưới dạng công thức truy hồi:
an = 2an-1 +an-2;
a0 =1; a1 = 2
Lập chương trình in ra màn hình n phần tử đầu của dãy theo.
Bài này bạn dùng hàm đệ quy.
Bạn có thể google search “Hàm tính fibonacci đệ quy” là hiểu
Đề bài bảo gì thì bạn làm nấy thôi.
Tạo mảng a[], a[0]=1, a[1]=2, a[n]=2*a[n-1]+a[n-2].
Hàm đệ quy làm được rồi nhưng cô cho mình làm thêm nữa làm theo dùng mảng 1 chiều
đầy là code hàm đệ quy mình làm
#include "Header.h"
int dq(int n);
int dq (int n)
{ if (n==1 )
return 1;
else if (n==2) return 2;
else return (2*(dq(n-1))+ dq(n-2));
}
void main()
{
int n,i;
cout<<"Tim so hang thu may cua day: ";cin>>n;
cout<<"\n So hang thu "<<n<< " cua day la "<<dq(n);
cout<<"\n Day "<<n<<" so hang tu dau cua day :";
for (i=1;i<=n;i++)
cout<< dq(i)<< "\t";
getch();
}
Chẳng khác gì thằng Fibo, dùng 3 biến để tính.
thực chất cái hàm đệ qui cũng như là vòng lặp for thôi bạn
Câu này chỉ đúng với đệ quy tuyến tính.