[要求]
给定一个字母表{0, 1, ... , k}, 0 ≤ k ≤ 9。我们说这个字母表上长度为 n 的单词是紧的,如果单词中的任何两个相邻数字不相差多于 1。输入是一系列行,每行包含两个整数 k 和 n,1 ≤ n ≤ 100。对于输入的每一行,输出长度为 n 的紧单词在字母表 {0, 1, ... , k} 有 5 个小数位。
[输入]
4 1
2 5
3 5
8 7
[输出]
100.00000
40.74074
17.38281
0.10130
首先,我无法理解这个测验。例如,如果输入是2, 5
. 我不知道为什么答案是 40.74074。
在这种情况下,如果它会“紧”。中间的数字必须是 1。
例子,
00000 00001 00002
00010 00011 00012
....
所以,
这里的所有情况都是,3 5 = 243
最后一位数字必须是 1,所以 3 4 = 81 将是“紧”的情况。
所以,输出必须是 81/243 = 0.33333333333333333 = 33.333333%
我错过了什么吗?
有什么好的算法可以解决这个问题?