首页 > 代码库 > BestCoder24 1001.Sum Sum Sum(hdu 5150) 解题报告

BestCoder24 1001.Sum Sum Sum(hdu 5150) 解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5150

题目意思:就是直接求素数。

  不过 n = 1,也属于答案范围!!只能说,一失足成千古恨啊~~~~~

  

 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 using namespace std; 6  7 const int maxn = 1000 + 5; 8 int prime[maxn]; 9 10 bool is_prime(int x)11 {  12 //  if (x == 1)          // 太多手了,不能先入为主啊13 //   return false;       // 被人 hack 的罪魁祸首14     if (x == 2)15         return true;16     for (int i = 2; i * i <= x; i++)17     {18         if (x % i == 0)19             return false;20     }21     return true;22 }23 24 int main()25 {26     memset(prime, 0, sizeof(prime));27     for (int i = 1; i <= maxn; i++)28     {29         if (is_prime(i))30             prime[i] = 1;31     }32 33     int n, data;34     while(scanf("%d", &n) != EOF)35     {36         int sum = 0;37         for (int i = 0; i < n; i++)38         {39             scanf("%d", &data);40             if (prime[data])41                 sum += data;42         }43         printf("%d\n", sum);44     }45     return 0;46 }

 

BestCoder24 1001.Sum Sum Sum(hdu 5150) 解题报告