描述
给出 N 个数字,试求质因数最大的数字。
输入描述
第一行,一个整数 N ,表示数字个数。接下来 N 行,每行一个整数 Ai,表示给出的数字。
输出描述
一个整数,表示质因数最大的数字。
N≤5000,Ai≤20000
用例输入 1
4 36 38 40 42
用例输出 1
38
代码
#include<iostream>
using namespace std;
int maxprime(int n){
int i = 2;
int res = 1;
while (n>2){
if(n%i == 0){
n=n/i;
res = i;
} else {
i++;
}
}
return res;
}
int main(){
int n;
cin>>n; //n为要输入的行数
int o,t; //o为每一行的数
int max = -1;
for(int i = 0;i<n;i++){
cin>>o;
if(maxprime(o)>max){
t = o;
max = maxprime(o);
}
}
cout<<t<<endl;
return 0;
}