poj3006---素数筛法
2015-06-19 13:20
316 查看
#include <stdio.h> #include <stdlib.h> int tab[1000001];//以后都用宏定义 MAX int main()//如要将包括1000000在内的打表,数组就开大一个 { int a,d,n,i,j; tab[0]=0;tab[1]=0; for(i=2;i<1000001;i++) tab[i]=1; for(i=2;i<=1000000;i++)//个人觉得后面一半没必要遍历,因为二倍一定大于1000000 { if(tab[i] == 1) { for(j=2;j*i<=1000000; j++) { tab[i*j]= 0; } } } while(scanf("%d %d %d",&a,&d,&n) != EOF && n) { int cout=0; for(i=0;cout!=n;i++) { if(tab[a+i*d] == 1) cout++; } printf("%d\n",a+(i-1)*d); } return 0; }
View Code
相关文章推荐
- java 正则
- MySQL优化之——运算符
- 一款期刊杂志apk设计
- win7/8USB转串口驱动不起作用解决方法
- ubuntu下tomcat开机启动设置
- 新GRE考试词汇相关的俚语:slapdash和willy-nilly
- oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT
- Quartz+Spring 实现任务监控
- 在Ubuntu 14.04 64bit上生成ATS本地离线文档
- hdu2222 AC自动机
- 【动态规划】[POJ 1050]To the Max
- A × B problem
- Android文件下载(实现断点续传)
- Visual Studio 内置快速生产代码简写集合
- ArrayList-VS-LinkedList
- TCP/IP协议及首部初了解
- 2009年SAT阅读真题文章类型
- OpenGL 顶点缓存对象
- 注释转换
- hadoop学习笔记(六)——hadoop2.5.2全分布模式实现的部署