Problem Description To improve the organization of his farm, Farmer John labels each of his N (1 <= N <= 5,000) cows with a distinct serial number in the range 1..20,000. Unfortunately, he is unaware that the cows interpret some serial numbers as better than others. In particular, a cow whose serial number has the highest prime factor enjoys the highest social standing among all the other cows.
Input * Line 1: A single integer, N
Output * Line 1: The integer with the largest prime factor. If there are more than one, output the one that appears earliest in the input file.
Sample Input 4 36 38 40 42
Sample Output 38
|
#include<cstdio> #include<cstring> const int MAX=20005; int p[MAX]; using namespace std; int main() { int n,maxn,m,s,flag=0; memset(p,0,sizeof(p)); p[1]=1; for(int i=2;i<=MAX;i++){ if(p[i]==0){ for(int j=i;j<=MAX;j=j+i){ p[j]=i; flag++; } } } while(scanf("%d",&n)!=EOF){ maxn=-1; while(n--){ scanf("%d",&m); if(p[m]>maxn){ maxn=p[m]; s=m; } } printf("%d\n",s); } return 0; } |
hdu 2710【Max Factor】
最新推荐文章于 2020-03-08 21:48:54 发布