在 JavaScript 中下一个 5 的倍数和二进制连接
问题
要求我们编写一个 JavaScript 函数,其中包含一个数字 n。我们的函数应该返回该数字的下一个高 5 的倍数,该倍数是通过将最短的可能二进制字符串连接到此数字的二进制表示的末尾来获得的。
范例
以下为代码 -
const generateAll = (num = 1) => {
const res = [];
let max = parseInt("1".repeat(num), 2);
for(let i = 0; i <= max; i++){
res.push(i.toString(2).padStart(num, '0'));
};
return res;
};
const smallestMultiple = (num = 1) => {
const numBinary = num.toString(2);
let i = 1;
while(true){
const perm = generateAll(i);
const required = perm.find(binary => {
return parseInt(numBinary + binary, 2) % 5 === 0;
});
if(required){
return parseInt(numBinary + required, 2);
};
i++;
};
};
console.log(smallestMultiple(8));输出
35
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP