#include<iostream> #include<vector> #include<algorithm> #include<string> #include<climits> #include<cmath> #include<unordered_map> #include<set> using namespace std; int main() { int N; while (cin >> N) { if (N == 0) { cout << "0.00" << endl; continue; } if (N == 1) { cout << "2.00" << endl; continue; } vector<double> dp(N + 2); dp[1] = 1; dp[2] = 2; for (int i = 3; i <= N + 1; i++) dp[i] = dp[i - 1] + dp[i - 2]; double res = 0; for (int i = 1; i <= N; i++) { res += dp[i + 1] / dp[i]; } printf("%.2lf\n", res); } } |
Double click to view unformatted code.