1.题目描述
给出N (1 <= N <= 5,000)个1~20,000之间的整数,求这N个整数中哪个整数的质因子最大。
2.输入
第一行,N;
接下来N行,每行一个整数。
输出
质因子最大的整数,如果有多个,则输出第一个。
3.样例输入 Copy
4 36 38 40 42
样例输出 Copy
38
提示:
样例解释: 19是38的质因子,其他数的最大质因子都比19小。
代码展示
#include<bits/stdc++.h>
using namespace std;
int l,n[5005],maxx,m,k[5005],b,h[5005];
int main(){
cin>>l;
for(int i=0;i<l;i++)
{
cin>>k[i];
h[i]=k[i];
for(int j=2;k[i]!=1;j++)
{
while(k[i]%j==0)
{
n[i]=j;
k[i]=k[i]/j;
}
}
}
for(int i=0;i<l;i++)
{
if(n[i]>maxx)
{
maxx=n[i];
b=h[i];
}
}
cout<<b;
return 0;
}