给定n个正整数aiai,请你输出这些数的乘积的约数个数,答案对109+7109+7取模。
输入格式
第一行包含整数n。
接下来n行,每行包含一个整数aiai。
输出格式
输出一个整数,表示所给正整数的乘积的约数个数,答案需对10^9+7取模。
#include<iostream> #include<algorithm> #include<unordered_map> using namespace std; typedef long long LL; const int N=1e9+7; unordered_map<int,int>primes; int n; int main(void){ cin>>n; for(int i=0,a;i<n;i++){ cin>>a; for(int i=2;i<=a/i;i++) while(a%i==0){ a/=i; primes[i]++; } if(a>1)primes[a]++; } LL res=1; for(auto x:primes)res=res*(x.second+1)%N; cout<<res%N<<endl; return 0; }