#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
#include <string>
using namespace std;
int n,x,ans=1,cnt;
map<int,int>mp;
void dic(int x)
{
for(int i=2;i*i<=x;++i)
{
if(x%i==0)
{
mp[i]++;
while(x%i==0)x/=i;
}
}
if(x!=1)mp[x]++;
}
int main(void)
{
cin>>n;
for(int i=1;i<=n;++i)
{
cin>>x;
dic(x);
}
for(auto it=mp.begin();it!=mp.end();++it)
{
if(it->second>cnt)
{
cnt=it->second;
ans=it->first;
}
}
cout<<ans<<endl;
return 0;
}
map的遍历方法
最新推荐文章于 2024-07-01 16:13:53 发布
本文介绍了一种使用C++实现的高效质因数分解算法,通过map数据结构存储因子计数,用于求解1到n范围内的整数分解。核心是利用埃拉托斯特尼筛法和欧几里得算法,展示了如何在不使用库函数的情况下提高程序性能。
摘要由CSDN通过智能技术生成