码迷,mamicode.com
首页 > 其他好文 > 详细

I - How many prime numbers HDU - 2138

时间:2018-04-10 15:04:54      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:nbsp   pre   UNC   HERE   out   --   ring   function   ber   

 Give you a lot of positive integers, just to find out how many prime numbers there are.

Input  There are a lot of cases. In each case, there is an integer N representing the number of integers to find. Each integer won’t exceed 32-bit signed integer, and each of them won’t be less than 2.Output  For each case, print the number of prime numbers you have found out.Sample Input

3
2 3 4

Sample Output

2

最开始用打表筛选素数,居然超时间。然后猜想到这个测试的数据的数目可能不大,然后就改为检测每一个数是不是素数的方法,就ac了
#include<iostream>
#include<cmath>
using namespace std;
bool fun(int num);
int main()
{
int datanum, num,ans;
while (cin >> datanum)
{
ans = 0;
while (datanum--)
{
cin >> num;
if (num == 1) continue;
if (num == 2 || fun(num)) ans++;
}
cout << ans << endl;
}
}
bool fun(int num)
{
for (int i = 2; i <= sqrt(num); i++)
{
if (num%i == 0) return false;
}
return true;
}

I - How many prime numbers HDU - 2138

标签:nbsp   pre   UNC   HERE   out   --   ring   function   ber   

原文地址:https://www.cnblogs.com/damaoranran/p/8778281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!