N=P1a1P2a2P3a3......Pnan ,那么约数个数等于(a1+1)(a2+1)…(an+1) 相当于对于对于每一种质因子取出若干个组成约数,0到ai个共有ai+1种选法
因为是分解了很多数,所以用unordered——map
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=1e9+7;
unordered_map<int,int> primes;
int main(){
int n;
cin>>n;
while(n--){
int x;
cin>>x;
for(int i=2;i<=x/i;i++){
while(x%i==0){
x/=i;
primes[i]++;
}
}
if(x>1) primes[x]++;
}
ll res=1;
for(unordered_map<int,int>::iterator it=primes.begin();it!=primes.end();it++){
res=res*(it->second+1)%mod;
}
cout<<res<<endl;
return 0;
}
桃子姐姐好棒
我不是小姐姐。。。。
哈哈哈