ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลข n ฟังก์ชันของเราควรคืนค่าผลคูณที่สูงกว่าถัดไปจากจำนวนห้าของตัวเลขนั้น ซึ่งได้มาจากการเชื่อมสตริงไบนารีที่สั้นที่สุดที่เป็นไปได้กับจุดสิ้นสุดของการแทนค่าไบนารีของตัวเลขนี้
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
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