hdu 2710

地址: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 }
posted @ 2012-06-10 10:17  Seraph2012  阅读(197)  评论(0编辑  收藏  举报