地址:http://acm.hdu.edu.cn/showproblem.php?pid=2710
题意:输入n个数,找到最大素因子最大的那个输出。
mark:此题实在是坑,1算素数不说,题目是尼玛多组输入的。。。而且我更2,5WA,刚被坑了一个同样的地方,又被坑。。。
代码:
1 # include <stdio.h> 2 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 }