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