module main; // https://yang33-kassa.jp/yukicoder/yukicoder075/ より import std; void main() { // 入力 auto K = readln.chomp.to!int; // 答えの計算と出力(漸化式DP) auto A = new double[](K + 7), B = new double[](K + 7); A[] = 0.0, B[] = 0.0; foreach_reverse (i; 0 .. K) { foreach (j; 1 .. 7) { if (i + j <= K) { A[i] += 1 / 6.0 * A[i + j]; B[i] += 1 / 6.0 * B[i + j]; } else { A[i] += 1 / 6.0; } } B[i] += 1.0; } // x = Ax + B -> x = B / (1 - A) writefln("%.12f", B[0] / (1 - A[0])); }