Skip to content

Commit 4230e53

Browse files
authored
Update 1735-count-ways-to-make-array-with-product.js
1 parent dcf0a5a commit 4230e53

File tree

1 file changed

+39
-39
lines changed

1 file changed

+39
-39
lines changed

1735-count-ways-to-make-array-with-product.js

+39-39
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,43 @@
22
* @param {number[][]} queries
33
* @return {number[]}
44
*/
5-
var waysToFillArray = function(queries) {
6-
const nax = 10123;
7-
const C = Array.from({length: nax}, () => Array(15).fill(0n));
8-
const mod = BigInt(10 ** 9 + 7);
9-
if(C[1][1] == 0n) {
10-
for(let i = 0; i < nax; ++i) {
11-
C[i][0] = 1n;
12-
if(i < 15) {
13-
C[i][i] = 1n;
14-
}
15-
for(let j = 1; j < i && j < 15; ++j) {
16-
C[i][j] = (C[i-1][j-1] + C[i-1][j]) % mod;
17-
}
18-
}
5+
var waysToFillArray = function (queries) {
6+
const nax = 10123
7+
const C = Array.from({ length: nax }, () => Array(15).fill(0n))
8+
const mod = BigInt(10 ** 9 + 7)
9+
if (C[1][1] == 0n) {
10+
for (let i = 0; i < nax; ++i) {
11+
C[i][0] = 1n
12+
if (i < 15) {
13+
C[i][i] = 1n
14+
}
15+
for (let j = 1; j < i && j < 15; ++j) {
16+
C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % mod
17+
}
18+
}
19+
}
20+
const answer = []
21+
for (let query of queries) {
22+
let n = query[0]
23+
let k = query[1]
24+
let total = 1n
25+
const consider = (cnt) => {
26+
total = (total * C[n + cnt - 1][cnt]) % mod
27+
}
28+
for (let i = 2; i * i <= k; ++i) {
29+
if (k % i == 0) {
30+
let cnt = 0
31+
while (k % i == 0) {
32+
k = (k / i) >> 0
33+
cnt++
1934
}
20-
const answer = [];
21-
for(let query of queries) {
22-
let n = query[0];
23-
let k = query[1];
24-
let total = 1n;
25-
const consider =( cnt) => {
26-
total = total * C[n+cnt-1][cnt] % mod; ;
27-
};
28-
for(let i = 2; i * i <= k; ++i) {
29-
if(k % i == 0) {
30-
let cnt = 0;
31-
while(k % i == 0) {
32-
k = (k/i) >> 0;
33-
cnt++;
34-
}
35-
consider(cnt);
36-
}
37-
}
38-
if(k != 1) {
39-
consider(1);
40-
}
41-
answer.push(total);
42-
}
43-
return answer;
44-
};
35+
consider(cnt)
36+
}
37+
}
38+
if (k != 1) {
39+
consider(1)
40+
}
41+
answer.push(total)
42+
}
43+
return answer
44+
}

0 commit comments

Comments
 (0)