gpt4 book ai didi

javascript - 统计指定位数和分度值有多少个数的函数

转载 作者:行者123 更新时间:2023-11-29 14:58:34 25 4
gpt4 key购买 nike

我开始编写一个可以执行以下操作的函数:数一数您可以用数字 0、1、2、3、4 和 5 组合出多少个可以被 6 整除的 6 位数?

我目前尝试如何开始,是我制作一个包含所有可能数字的数组,然后取出其中包含任何 numbers 数组元素的每个数字,然后删除那些不能被 6 整除。

我卡在了第二部分。我尝试制作 2 个循环以在 numbers 数组中循环,然后在该循​​环内,为 allnumbers 数组的长度创建另一个循环以删除所有匹配项。

然后我将使用 % 运算符以相同的方式取出每个不返回 0 的元素。

代码需要灵活。如果用户要求例如。数字 6 也是,那么代码应该仍然有效。我有什么办法可以完成这个吗?

我的代码是:

var allnumbers = [],j;
var biggestnumber = "999999999999999999999999999999999999999999999999999999999999";

function howmanynumbers(digits,numbers,divideWith){
if (digits && numbers && divideWith){
for (var i = 0; i < 1+Number(biggestnumber.substring(0,digits)); i++ ){
allnumbers.push(i);
}

for (j = 0; j < numbers.length; j++ ){
var matchit = new RegExp(numbers[j]);
}
//not expected to work, I just had this in for reference
if ( String(allnumbers[i]).match(matchit) != [""]){
j = 0;
allnumbers.splice(i,1);
var matchit = new RegExp(numbers[j])
}
}
else {
return false;
}
}

最佳答案

这是我对整个解决方案的看法:

var i;
var allowedDigitsPattern = /^[0-5]+$/i;
var numbers = [];

for (i = 100000; i < 555555; i++) {
if (allowedDigitsPattern.test(i.toString())
&& i % 6 === 0) {
numbers.push(i);
}
}

您可以这样查看结果:

document.write('There are ' + numbers.length + ' numbers<br>');

// write out the first ten!
for (i = 0; i < 10; i++) {
document.write(numbers[i] + '<br>');
}

根据评论更新...

这个的可配置版本是:

var i;
var lowestDigit = 0;
var highestDigit = 5;
var numberOfDigits = 6;

var allowedDigitsPattern = new RegExp('^[' + lowestDigit + '-' + highestDigit + ']+$', 'gi');

var smallestNumber = '1';
for (i = 1; i < numberOfDigits; i++) {
smallestNumber += '0';
}

var biggestNumber = '';
for (i = 0; i < numberOfDigits; i++) {
biggestNumber += highestDigit.toString();
}

var numbers = [];

for (i = smallestNumber; i < biggestNumber; i++) {
if (allowedDigitsPattern.test(i.toString())
&& i % 6 === 0) {
numbers.push(i);
}
}

document.write('There are ' + numbers.length + ' numbers<br>');

您需要根据配置更改最小和最大数字。我已经使允许的数字和数字的长度都可以配置。

关于javascript - 统计指定位数和分度值有多少个数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com