E02753:菲波那契数列
http://cs101.openjudge.cn/pctbook/E02753
cpp
//dp
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
int input;
cin >> input;
if (input == 1 || input == 2)
{
cout << 1 << endl;
continue;
}
int a = 1, b = 1;
int tmp;
for (int i = 0; i < input - 2; i++)
{
tmp = a + b;
a = b;
b = tmp;
}
cout << b << endl;
}
return 0;
}
//math
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
int input;
cin >> input;
cout << (1 / sqrt(5)) * (pow((1 + sqrt(5)) / 2, input) - pow((1 - sqrt(5)) / 2, input)) << endl;
}
return 0;
}