acwing870,求约数个数

如果
则约数个数为
#include <bits/stdc++.h>

using namespace std;

const int mod=1e9+7;
int n;
int a;
unordered_map<int,int> primes;

int main(int argc, char** argv) {
	cin>>n;
	while(n--){
		cin>>a;
		for(int i=2;i<=a/i;i++){
			while(a%i==0){
				primes[i]++;
				a/=i;
			}
		}
		if(a>1) primes[a]++;
	}
	long long  ans=1;
	for(auto it:primes){
		ans=ans*(it.second+1)%mod;
	}
	cout<<ans<<endl;
	return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务