Lang:G++
Edit1234567891011121314151617181920212223#include <bits/stdc++.h>const int N = 500 + 5;double dp[N];void init() {dp[0] = 1;for (int i = 1; i < N; ++ i) {for (int j = 0; j < i; ++ j) {for (int k = 0; k < i; ++ k) {dp[i] += 1. / i / i * (dp[j] + dp[k]);}}}}int main() {init();int n;while (scanf("%d",&n) == 1) {printf("%.6f\n",dp[n]);}}