View Code of Problem 71

#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.


Back to problem 71