p139
#include <iostream>
#include <string>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
#include <map>
#include <unordered_map>
const long long mod = 1e9+7;
using namespace std;
typedef long long ll;
unordered_map<ll,ll>p;
int main()
{
int n;
cin >>n;
while(n--)
{
ll x;
cin >>x;
for(int i=2;i<=x/i;i++)
{
if(x%i==0)
{
int num =0;
while(x%i==0)
{
x/=i;
num++;
}
p[i]+=num;
}
}
if(x>1)p[x]+=1;
}
ll sum =1;
for(auto pi: p)
{
ll a = pi.first;ll b=pi.second;
ll f =a;
ll t =1;
while(b--)
{
t += f;
f*=a;
f = f%mod;
t = t%mod;
}
sum =sum*t%mod;
}
cout << sum <<endl;
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla