次の5の倍数とJavaScriptでのバイナリ連結
問題
数値nを受け取るJavaScript関数を作成する必要があります。この関数は、可能な限り短い2進文字列をこの数の2進表現の最後に連結することによって得られた、その数の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
-
JavaScriptConst
JavaScriptのconst宣言は、他の値に再割り当てしたり、後で再宣言したりできない変数を作成します。 ES2015で導入されました。 以下はJavaScriptconst宣言のコードです- 例 <!DOCTYPE html> <html> <head> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } </sty
-
JavaScriptでのConstとLet。
Constとletは、ブロックスコープの変数を宣言するためにES2015で導入されました。 letを使用して宣言された変数は再割り当てできますが、constを使用して宣言された場合は再割り当てできません。 以下は、JavaScriptでletとconstを示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="wi