Có cao nhân nào có cách tìm số fibonaci lớn mà thời gian chạy nhanh không?(VD số Fibo thứ 100 chẳng hạn)
Tính số hạng thứ n của dãy Fibonacci bằng phương pháp đệ quy
1 Like
Dùng nhân ma trận.
https://tritran.xyz/posts/tim-so-fibonacci-bat-ki/#2-tim-so-fibonacci-bat-ki-bang-ma-tran
4 Likes
cảm ơn .làm mãi ko đc bài này
2 Likes
#include<stdio.h>
int F(int n)
{
if(n==0)
{
return 0;
}
if(n==1)
{
return 1;
}
return F(n-1)+F(n-2);
}
int main()
{
int n;
printf("Nhap vao so nguyen can tinh:");
scanf("%d",&n);
for(n=1;n<=n;n++)
printf("%d ",F(n));
return 0;
}
đã edit nhé !
Mình sửa lại code hoàn chỉnh cho bạn nhé :
#include <stdio.h>
#include <conio.h>
int Fibonaci(int n);
int main(int argc, char *argv[])
{
int n;
do{
printf(" Nhap vao n : ");
scanf("%d", &n);
}while(n<0);
printf("\n Fibonaci(%d) = %d ", n, Fibonaci(n));
return 0;
getch();
}
int Fibonaci(int n)
{
if(n==0)
return 0;
else if(n==1 || n==2)
return 1;
else
return Fibonaci(n-1) + Fibonaci(n-2);
}