hdu how many prime numbers 筛选法求素数
2014-05-13 20:53
405 查看
/* * hdu How many prime numbers * date 2014/5/13 * state AC */ #include <iostream> #include <cmath> #include <cstdio> using namespace std; bool isPrime(int x) { int sqr=sqrt(x*1.0); for(int i=2;i<=sqr;i++) { if(x%i==0)return false; } return true; } //筛选法 void choosePrime() { memset(prime,false,sizeof(prime)); prime[1]=true;//true 表示合数,false表示素数 for(int i=2;i*i<=10000;i++) { if(prime[i]==false)//i为素数,那么他的倍数都是合数 for(int j=i*2;j<=10000;j+=i)//j是i的倍数 prime[j]=true; } //now prime 数组中,凡是为false的都是素数 //判断某个数x是否为素数,只需要判断prime[x]==false } int main() { //cout << "Hello world!" << endl; int N; int counter=0; //cin>>N; while(scanf("%d",&N)!=EOF) { counter=0; for(int i=0;i<N;i++) { int t; cin>>t; //counter=0; if(isPrime(t)==true)counter++; } cout<<counter<<endl; } return 0; }
相关文章推荐
- kde和qt字体冲突的问题
- python十个项目之----画幅好画
- 几道数学题
- 类型转换
- opengl shader 入门 超详细
- POJ 1236 Network of Schools 强连通
- 引用返回左值
- SpringMVC 避免IE执行AJAX时,返回JSON出现下载文件
- Silverlight 预定义颜色速查表
- opencv 滤波
- 网络流+二分构图
- MESI协议
- leetcode difficulty and frequency distribution chart
- 点分治专题——bzoj 1468 &bzoj 2152 题解
- Git操作基本命令
- poj 3624 Charm Bracelet(01背包)
- 九度 OJ 1004 median
- 【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement
- C#l里的位移符号
- cocos2d-x 动作的分类与使用