设为首页 加入收藏

TOP

(hdu step 2.1.2)How many prime numbers(判断一个数是否是质数)
2015-07-20 17:21:35 来源: 作者: 【 】 浏览:3
Tags:hdu step 2.1.2 How many prime numbers 判断 一个数 是否是

题目:

How many prime numbers

Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8513 Accepted Submission(s): 2716
Problem DescriptionGive you a lot of positive integers, just to find out how many prime numbers there are.
InputThere 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
Authorwangye
SourceHDU 2007-11 Programming Contest_WarmUp
Recommend威士忌

题目分析:

判断一个数是否是素数。这道题可以用很多种方法做:定义法、欧拉筛法、埃拉托尼斯筛法来做。本题使用

定义法来做。


关于素数的一些知识点:

第一,对于一个自然数N,只要能被一个非1非自身的数整除,它就肯定不是素数,所以不
必再用其他的数去除。
第二,对于N来说,只需用小于N的素数去除就可以了。例如,如果N能被15整除,实际
上就能被3和5整除,如果N不能被3和5整除,那么N也决不会被15整除。
第三,对于N来说,不必用从2到N-1的所有素数去除,只需用小于等于√N(根号N)的所有素数去除就可以了。这一点可以用反证法来证明:
如果N是合数,则一定存在大于1小于N的整数d1和d2,使得N=d1×d2。
如果d1和d2均大于√N,则有:N=d1×d2>√N×√N=N。
而这是不可能的,所以,d1和d2中必有一个小于或等于√N。


代码如下:

/*
 * b.cpp
 *
 *  Created on: 2015年1月30日
 *      Author: Administrator
 */

#include 
  
   
#include 
   
     #include 
    
      using namespace std; /** * 判断一个数是否是质数(素数) */ bool isPrime(int n){ if(n == 1 || n == 0){//0和1既不是合数也不是素数 return false; } int i; for(i = 2 ; i <= sqrt(n*1.0) ; ++i){//判断一个数是否是素数只需要到<=根号n即可.这道题如果上界取到n会TLE if(n%i == 0){//如果它能整出其中一个因子 return false;//则表明他不是素数 } } return true; } int main(){ int n; while(scanf("%d",&n)!=EOF){ int ans = 0; int i; for(i = 0 ; i < n ; ++i){ int temp; scanf("%d",&temp); if(isPrime(temp) == true){ ans++; } } printf("%d\n",ans); } return 0; } 
    
   
  







】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Coderforces 509B 下一篇HDOJ 1076 An Easy Task

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)
·想要自学数据分析, (2025-12-27 02:49:14)
·Java 集合框架 - 菜 (2025-12-27 02:19:36)
·Java集合框架最全详 (2025-12-27 02:19:33)