nyoj 187 快速查找素数【打表】

原创 2015年11月19日 09:18:28

快速查找素数

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述
现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数。
输入
给出一个正整数数N(N<=2000000)
但N为0时结束程序。
测试数据不超过100组
输出
将2~N范围内所有的素数输出。两个数之间用空格隔开
样例输入
5
10
11
0
样例输出
2 3 5
2 3 5 7

2 3 5 7 11


表 打在外边会超时;tle两次

#include<stdio.h>
int a[2000000];
/*void biao()
{
int i,j;
for(i=2;i<=2000000;i++)
{
if(!a[i])//未被标记; 
for(j=i+i;j<=2000000;j+=i)//素数的倍数不可能是素数 
{
a[j]=1;//不是素数 标记; 
}
}
 }*/
 int main()
 {
  int n;
  int i,j;
for(i=2;i<=2000000;i++)
{
if(!a[i])//未被标记; 
for(j=i+i;j<=2000000;j+=i)//素数的倍数不可能是素数 
{
a[j]=1;//不是素数 标记; 
}
}
  while(scanf("%d",&n),n)
  {
  //biao();
  printf("2");
  for(int i=3;i<=n;i++)
  {
  if(!a[i])
  printf(" %d",i);
}
printf("\n");
}
return 0;
  } 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

NYOJ 187 快速查找素数

快速的找出在2.....N这些数里面所有的素数。

百万以内素数快速查找

/** * 初级版本 */ @Test public void prime() { long date = System.currentTimeMillis(); System.o...

快速查找素数

  • 2014年07月01日 17:18
  • 602B
  • 下载

【快速查找素数 (素数筛法两种模版)】

【第一种(直接bool数组判断是否是prime)】

MSTAR虚函数表(以IBitmap为例),以及快速查找函数实现的方法

2011-10-13 19:16 MSTAR的EMMI中跟BREW类似,采用虚函数表的方式定义各种对象及其接口,这有点面向对象的思想。 而其实现方法,全是用C语言,通过宏定义来实现的。将各种宏带入...

Objective-C中Foundation Kit功能快速查找列表

1. 稳固的Foundation 两类UI的基础,这框架有100多个类,以框架CoreFoundation为基础创建的. 2. 项目样本代码 所有代码写在@autoreleasepool中 3. 一...

快速查找字段名称所在的用户表

有时,我们需要增加某个字段的长度,但该字段出现在多个表中,如何快速且一个不漏的找出哪些用户表用到该字段呢?有如下几种方式都可以实现: 1. select tab.name table_name, ...

建立链表快速查找中间结点的值并显示

#include #include #include #include #include struct node { int data; //elementype表示一种数据类型,可能...

使用哈希表快速查找字符串的一种解决方案

必备知识: 什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一...

区间表的快速查找算法

  • 2012年03月16日 10:31
  • 220KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nyoj 187 快速查找素数【打表】
举报原因:
原因补充:

(最多只允许输入30个字)