Ac cho e xin code bài này bằng vòng lặp với ạ. Chứ lên mạng nhiều chỗ khó hiểu nên cũng không biết hỏi ai ạ :<
Code Fibonacci bằng vòng lặp
Hi Vương T Thúy.
Bạn tìm code mà bạn thấy hiểu nhất. Copy lên đây (ghi rõ nguồn) và nói rõ bạn không hiểu chỗ nào.
3 Likes
#include<stdio.h>
int Fibonacci(int n){
int a1 = 1, a2 = 1;
if(n==1||n==2) return 1;
int i=3,a;
while(i<=n){
a=a1+a2;
a1=a2;
a2=a;
i++;
}
return a;
}
int main(){
int n;
printf("nhap n: ");
scanf("%d",&n);
printf("So Fibonacci thu %d la: %d",n,Fibonacci(n));
return 1;
}
mình không hiểu phần này nè
a=a1+a2;
a1=a2;
a2=a;
i++;
phần phép tính này đó. mình không hiểu cho lắm
Vậy là 3 câu này
a = a1 + a2;
a1 = a2;
a2 = a;
a1 lấy giá trị a2 vậy a1 ở sau a2 (và a2 phía sau a). Mỗi lần lặp phải đẩy xuống thì kết quả mới đúng.
a1 a2 a
1 1 2
1 2 3
2 3 5
.......
5 Likes
Dãy Fibonaci có 2 số đầu tiên xác định là 1 và 2, số thứ 3 trở đi bằng tổng 2 số liền trước. Khai báo a1 = 1, a2 = 2 thì a3 = a1 + a2, sau đó a4 = a2 + a3 (a2 bây giờ ~ a1, a3 ~ a2)
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?