U 75483【シミュレーション問題1】ひまわり数(個人問題庫)-問題解
タイトル:https://www.luogu.org/problem/U75483
#include
using namespace std;
bool p[20001];
int n,num,maxn=0,ans=0,tmp;
int main()
{
cin>>n;
memset(p,true,sizeof(p));
p[0]=p[1]=false;
for(int i=2;i<=20000;i++)
{
if(p[i])
{
for(int j=i;j<=20000/i;j++)
p[i*j]=false;
}
} //
for(int i=1;i<=n;i++)
{
cin>>num;
for(int j=num;j>=2;j--)
if(p[j]&&num%j==0)
{
tmp=j;
break;
}
if(num>1&&maxn<tmp)
{
maxn=tmp;
ans=num;
}
}
cout<<ans<<endl;
return 0;
}