আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা n নেবে। ফাংশনটি ১ থেকে n পর্যন্ত ইন্টিজার দিয়ে একটি অ্যারে রিটার্ন করবে যেন প্রতিটি দুটি সমsekutিভ সংখ্যার সমষ্টি একটি পারফেক্ট স্কয়ার হয়।
উদাহরণ
কোডটি নিচের মতো –
const n = 15; const buildSquaresArray = (n = 1, res = []) => { const helper = (res, set, n) => { if(set.size === n){ return true; }; for(let i = 1; i <= n; i++){ if (set.has(i)){ continue; }; if(res.length && Math.sqrt(res[0] + i) % 1 !== 0){ continue; }; set.add(i); res.unshift(i); if(helper(res,set,n)){ return true; } res.shift(); set.delete(i); }; return false; }; return helper(res,new Set(),n) ? res : false; }; console.log(buildSquaresArray(n));আউটপুট
কনসোলে আউটপুট হবে –
[ 9, 7, 2, 14, 11, 5, 4, 12, 13, 3, 6, 10, 15, 1, 8 ]