Yêu cầu: Cho dãy số Fibonacci có công thức: F1 = F2 = 1, Fn = F(n-1) + F(n-2) với mọi số nguyên n lớn hơn 2. Ta có thể liệt kê một số phần tử đầu tiên như sau: 1, 1, 2, 3, 5, 8, 13, 21,...Vấn đề đặt ra là ta muốn tìm số Fibonacci thứ k với nhiều câu hỏi, nghĩa là cần hỏi một lúc nhiều số Fibo. Dữ liệu: - Dòng đầu tiên ghi số nguyên không âm t(t<=50) là số câu hỏi - là số lượng các số Fibo ta muốn in ra. - t dòng kế tiếp mỗi dòng ghi số nguyên dương k(k<=70). Kết quả: In ra t dòng, mỗi dòng là số Fibonacci tương ứng PASCAL GIÚP MÌNH NHÉ

2 câu trả lời

#include<bits/stdc++.h>
using namespace std;
long long n,a[10000];
int Fibonacci(int n)
{
if (n == 1 || n == 2)
return 1;
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>a;
cout<<Fibonacci(a)<<endl;
}
}

int Fibonacci(int n)
{
if (n == 1 || n == 2)
return 1;
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>a;
cout<<Fibonacci(a)<<endl;
}
}

Câu hỏi trong lớp Xem thêm