首页 > 其他 > 详细

I - How many prime numbers HDU - 2138

时间:2018-04-10 14:48:01      阅读:195      评论:0      收藏:0      [点我收藏+]
 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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!