Problem:
Score : 100 points

Problem Statement

Given is an integer N.

Takahashi chooses an integer a from the positive integers not greater than N with equal probability.

Find the probability that a is odd.

Constraints

1 \leq N \leq 100

Input

Input is given from Standard Input in the following format:

N

Output

Print the probability that a is odd.
Your output will be considered correct when its absolute or relative error from the judge's output is at most 10^{-6}.

Sample Input 1

4

Sample Output 1

0.5000000000

There are four positive integers not greater than 4: 1, 2, 3, and 4. Among them, we have two odd numbers: 1 and 3. Thus, the answer is \frac{2}{4} = 0.5.

Sample Input 2

5

Sample Output 2

0.6000000000

Sample Input 3

1

Sample Output 3

1.0000000000

Solution in C++14 (GCC 5.4.1) (judge verdict: Runtime Error)

#include <bits/stdc++.h>
#define rep(i, a, b) for (int i = a; i < (int)(b); ++i)

using namespace std;

void getKoyakusu(int big, int small, vector<int>& retvec);

int main(void) {

	int a;
	int b;

	cin >> a;
	cin >> b;

	std::vector<int> koyakusuvec;

	if (a > b) {
		getKoyakusu(a, b, koyakusuvec);
	}
	else {
		getKoyakusu(b, a, koyakusuvec);
	}

	if (koyakusuvec.size() == 1) {
		cout << 1;
		return 0;
	}

	int count = 1;
	bool flg;

	for (int i = (koyakusuvec.size() - 1); i != 0; i--) {
		flg = true;
		for (int k = (i - 1); k != 0; k--) {

			if ((koyakusuvec[i] % koyakusuvec[k]) == 0) {
				flg = false;
				break;
			}

		}
		if (flg) { count++; }
	}

	cout << count;

	return 0;
}
void getKoyakusu(int big, int small, std::vector<int>& retvec) {
	retvec.push_back(1);
	if (small == 1)  return;



	for (int i = 2; i <= (small / 2); i++) {
		if (big % i == 0 && small % i == 0) {
			retvec.push_back(i);
		}
	}

	if (big % small == 0) {
		retvec.push_back(small);
	}
}