समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पूर्णांकों की एक सरणी लेता है, एआर, सम लंबाई का।
मान लीजिए एक संख्या संख्या जहाँ -
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 सरणी की लंबाई है।
हमारे फ़ंक्शन को दो संख्याओं [ए, बी] की एक सरणी ढूंढनी चाहिए और वापस करनी चाहिए जैसे कि -
A2 + B2 = num
उदाहरण के लिए, यदि सरणी −
. है[1, 2, 3, 4]
फिर अंक =( 1 + 4) * (9 + 16) =125
तब आउटपुट होना चाहिए -
[2, 11]
क्योंकि 2 2 + 11 2 =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]