AcWing 870. 约数个数
原题链接
简单
作者:
Drifter
,
2021-01-15 15:37:47
,
所有人可见
,
阅读 226
进阶Day 1
#include<iostream>
#include<algorithm>
#include<unordered_map>
using namespace std;
const int MOD = 1e9 + 7;
int main(void)
{
int n;
scanf("%d", &n);
unordered_map<int, int> primes;
while(n--)
{
int x;
scanf("%d", &x);
for(int i = 2; i <= x / i; i++)
{
if(x % i == 0)
{
while(x % i == 0)
{
x /= i;
primes[i]++;
}
}
}
if(x > 1) primes[x]++;
}
long long res = 1;
for(auto t: primes) res = (res * ((t.second) + 1)) % MOD;
printf("%lld\n", res);
return 0;
}