在 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