# Javascript Program for Pairs such that one is a power multiple of other

You are given an array A[] of n-elements and a positive integer k. Now you have find the number of pairs Ai, Aj such that** Ai = Aj*(k ^{x})** where x is an integer.

Note: (Ai, Aj) and (Aj, Ai) must be count once.

**Examples :**

Input : A[] = {3, 6, 4, 2}, k = 2 Output : 2 Explanation : We have only two pairs (4, 2) and (3, 6) Input : A[] = {2, 2, 2}, k = 2 Output : 3 Explanation : (2, 2), (2, 2), (2, 2) that are (A1, A2), (A2, A3) and (A1, A3) are total three pairs where Ai = Aj * (k^0)

To solve this problem, we first sort the given array and then for each element Ai, we find number of elements equal to value Ai * k^x for different value of x till Ai * k^x is less than or equal to largest of Ai.

Algorithm:

// sort the given array sort(A, A+n); // for each A[i] traverse rest array for (int i=0; i

## Javascript

`<script>`

`// Javascript Program to find pairs count`

`// function to count the required pairs`

`function`

`countPairs(A, n, k) {`

`var`

`ans = 0;`

`// sort the given array`

`A.sort((a,b)=>a-b)`

`// for each A[i] traverse rest array`

`for`

`(`

`var`

`i = 0; i < n; i++) {`

`for`

`(`

`var`

`j = i + 1; j < n; j++) {`

`// count Aj such that Ai*k^x = Aj`

`var`

`x = 0;`

`// increase x till Ai * k^x <= largest element`

`while`

`((A[i] * Math.pow(k, x)) <= A[j]) {`

`if`

`((A[i] * Math.pow(k, x)) == A[j]) {`

`ans++;`

`break`

`;`

`}`

`x++;`

`}`

`}`

`}`

`return`

`ans;`

`}`

`// driver program`

`var`

`A = [3, 8, 9, 12, 18, 4, 24, 2, 6];`

`var`

`n = A.length;`

`var`

`k = 3;`

`document.write( countPairs(A, n, k));`

`// This code is contributed by rutvik_56.`

`</script>`

Output :6

Please refer complete article on Pairs such that one is a power multiple of other for more details!