地址:
题意:输入n个数,找到最大素因子最大的那个输出。
mark:此题实在是坑,1算素数不说,题目是尼玛多组输入的。。。而且我更2,5WA,刚被坑了一个同样的地方,又被坑。。。
代码:
1 # include2 3 4 int dp[20010] = { 0,1} ; 5 6 7 int IsPrime(int x) 8 { 9 int i ;10 for (i = 2 ; i*i <= x ; i++)11 if (x %i == 0) return 0 ;12 return 1 ;13 }14 15 16 int main ()17 {18 int i, j, ans ;19 for (i = 2 ; i <= 20000 ; i++)if (IsPrime(i))20 {21 for (j = i ; j <= 20000 ; j+=i)22 dp[j] = i ;23 }24 while(~scanf ("%d", &j)){25 ans = 0 ;26 while (j--)27 {28 scanf ("%d", &i) ;29 if (dp[i] > dp[ans]) ans = i ;30 }31 printf ("%d\n", ans) ;32 }33 return 0 ;34 }