如果我有两个字符(a, b
)和三个长度(aaa, aab ...
),我如何计算我可以制作多少个唯一字符串(以及调用的数学方法是什么) ?
这是对的吗?
val = 1, amountCharacters = 2, length = 3;
for (i = 1; i <= length; ++i) { val = amountCharacters*val; uniqueStrings = val }
此示例返回8,这是正确的。如果我尝试更高级的东西,比如amountCharacters = 10
它会返回1000.它仍然是正确的吗?
答案 0 :(得分:4)
如果您有n个不同的字符且长度为k,则可以形成完整的n k 可能的字符串。每个角色独立于其余角色可以是n个不同选项中的一个,并且总共有k个选择。你的代码是正确的。
对于2个可能的字符和10个字母,恰好有1024个可能的字符串。
希望这有帮助!
答案 1 :(得分:1)
与Base数学概念相同的规则适用。
所以简短的回答是amountCharacters ^ length
。
最自然的答案。
答案 2 :(得分:1)
如果我正确理解你的问题,如果你有N个字符并且想要构造一个长度为L的字符串,那么组合的数量只是N ^ L(例如N到L的幂)。
如果字符串可以包含的内容有不同的限制,您可以获得各种其他结果,例如:组合或排列。