hdu 5150 Sit sit sit

http://acm.hdu.edu.cn/showproblem.php?pid=5151

直接判断是不是素数,然后再注意1就行。

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 int n;
 7 int a[1001];
 8 bool f[1001];
 9 
10 void Get_prime()
11 {
12     f[1]=true;
13     for(int i=2; i<=1000; i++)
14     {
15         if(!f[i])
16         {
17             for(int j=i*i; j<=1000; j+=i)
18             {
19                 f[j]=true;
20             }
21         }
22     }
23 }
24 
25 int main()
26 {
27      Get_prime();
28      while(scanf("%d",&n)!=EOF)
29      {
30          memset(a,0,sizeof(a));
31          int ans=0;
32          for(int i=0; i<n; i++)
33          {
34              scanf("%d",&a[i]);
35              if(a[i]==1) ans+=a[i];
36              else
37              {
38                  if(!f[a[i]])
39                  {
40                      ans+=a[i];
41                  }
42              }
43          }
44          printf("%d\n",ans);
45      }
46      return 0;
47 }
View Code

 

posted @ 2015-01-01 16:43  null1019  阅读(162)  评论(0编辑  收藏  举报