如何创建一种使用动态格式查找可能组合总数的方法[关闭]

问题描述 投票:-5回答:2

我有一个随机生成的自定义车牌格式,如下所示:

ISSIIIISS - 其中'I'是0-9的整数,'S'是一串A-Z

示例板将是:4DE2947BN

我试图找到一种方法来计算这种车牌格式的所有可能组合的总数。

我该怎么做?如何使用PHP或JavaScript来解决这个问题?

我已经掌握了如何计算组合,但我正在努力将其如何实现到代码中,尤其是我正在尝试计算的字母数字格式。

javascript php math combinations permutation
2个回答
0
投票

I是一个数字,有10种可能性。

S是一个角色,有26种可能性。

组合的总数是10 power (TheNumberOfI) * 26 power (TheNumberOfS)

这可以使用一个简单的函数动态求解,该函数计算S的数量和I的数量,并使用前一个等式中的结果

function getNumberOfCombinations(input)
{
    const countI = (input.match(/I/g) || []).length;
    const countS = (input.match(/S/g) || []).length;
    const result =  Math.pow(10, countI) * Math.pow(26, countS);
    return (result);
}

console.log(getNumberOfCombinations("ISSIIIISS"));

0
投票

我认为如果你一次把它当作一件就应该变得清晰。 对于第一个“I”,有10种可能性,对于第一个“S”,有26个, 所以对于这两个字符,可能性的总数是10 x 26 = 260

然后对于下一个“S”,你有26种可能性,所以前三个字符一起有10 x 26 x 26 = 6760的可能性。

这个模式一直持续到你得到26^4 * 10^5 = 45,697,600,000,在JS中 26**4 * 10**4

let x = Math.pow(26,4) * Math.pow(10,5);
console.log(x);
© www.soinside.com 2019 - 2024. All rights reserved.