870. 约数个数

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了870. 约数个数相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
https://www.acwing.com/problem/content/872/

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
const int mod=1e9+7;
map<int,int> mp;
void f(int x)
{
	for(int i=2;i<=x/i;i++)
	{
		while(x%i==0) x/=i,mp[i]++;
	}
	if(x!=1) mp[x]++;
} 
int main(void)
{
	int n; cin>>n;
	while(n--)
	{
		int x; cin>>x;
		f(x);
	}
	long long int sum=1; 
	for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++)
	{
		sum*=(it->second+1)%mod;
		sum=sum%mod;
	} 
	cout<<sum%mod<<endl; 
	return 0;
} 

以上是关于870. 约数个数的主要内容,如果未能解决你的问题,请参考以下文章

(寒假练习 AcWing 870)约数个数(数论)

AcWing 870. 约数个数(唯一分解+组合数)

求1到n的约数个数

求约数个数的和

约数的个数

约数的个数