AcWing 871. 约数之和
原题链接
简单
作者:
xyd
,
2023-03-23 16:35:56
,
所有人可见
,
阅读 122
res must be long long
#include<bits/stdc++.h>
#include<unordered_map>
using namespace std;
int n,a;
const int mod=1e9+7;
//typedef long long ll;
int main()
{
cin>>n;
unordered_map<int,int> d;
while(n--)
{
cin>>a;
for(int i=2;i<=a/i;i++)
{
while(a%i==0)
{
a=a/i;
d[i]++;
}
}
if(a>1) d[a]++;
}
long long res=1;
for(auto x:d)
{
long long t=1;
int a=x.first,b=x.second;
while(b--) t=(long long)(t*a+1)%mod;
res=(res*t)%mod;
}
cout<<res<<endl;
return 0;
}