思路
例如: n=20,首先从2开始除,n%2 === 0,将n=n/2,再将n从2开始除,以此类推
function commit(nums) {
if (nums === 0 || nums === 1) {
return;
}
if (nums === 2 || nums === 3 || nums === 5 || nums === 7) {
return [[nums, 1]];
}
let map = new Map();
let res = [];
for (let i = 2; i <= nums; i++) {
if (nums % i === 0) {
nums = nums / i;
if (map.has(i)) {
map.set(i, map.get(i) + 1);
} else {
map.set(i, 1);
}
i = 1;
}
}
for (let [key, val] of map) {
res.push([key, val]);
}
return res;
}
console.log(commit(96));