সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা পূর্ণসংখ্যাগুলোর একটি অ্যারে arr নেবে, যার দৈর্ঘ্য জোড়। ধরুন একটি সংখ্যা num যেখানে:
num = (arr[0]*arr[0] + arr[1]*arr[1]) * (arr[2]*arr[2] + arr[3]*arr[3]) * ... * (arr[n-2]*arr[n-2] + arr[n-1]*arr[n-1])এখানে n হলো অ্যারের দৈর্ঘ্য। ফাংশনটি দুটি সংখ্যার একটি অ্যারে [A, B] ফেরত দেবে যাতে:
A2 + B2 = numউদাহরণস্বরূপ, অ্যারে [1, 2, 3, 4] হলে, num = (1+4)*(9+16) = 125। আউটপুট হবে [2, 11] কারণ 2² + 11² = 125।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
const arr = [1, 2, 3, 4];
const findMatchingSumArray = (arr = []) => {
let squaredSum = 1;
for(let i = 0; i < arr.length - 1; i += 2){
const curr = arr[i];
const next = arr[i + 1];
squaredSum *= (Math.pow(curr, 2) + Math.pow(next, 2));
}
for(let k = 0; k * k < squaredSum; k++){
for(let j = 0; (k * k) + (j * j) <= squaredSum; j++){
if((k * k) + (j * j) === squaredSum){
return [k, j];
}
}
}
return [];
};
console.log(findMatchingSumArray(arr));আউটপুট
কনসোল আউটপুট:
[2, 11]