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

 

你可能感兴趣的:(HDU)