সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা n নেবে। ফাংশনটি সেই সংখ্যার বাইনারি রিপ্রেজেন্টেশনের শেষে সম্ভাব্য সবচেয়ে ছোট বাইনারি স্ট্রিং কনক্যাটেনেট করে ৫ এর পরবর্তী গুণিতক (multiple) বের করবে।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
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