素数筛选法--快速查找素数
来源:互联网 发布:流程优化跟我学 pdf 编辑:程序博客网 时间:2024/06/09 06:12
快速查找素数
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
- 现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数。
- 输入
- 给出一个正整数数N(N<=2000000)
但N为0时结束程序。
测试数据不超过100组 - 输出
- 将2~N范围内所有的素数输出。两个数之间用空格隔开
- 样例输入
510110
- 样例输出
2 3 52 3 5 72 3 5 7 11
- 来源
- 经典题
- 上传者
路过这
思路:素数筛选法筛选出2000001之前的所有素数,为了省时,筛选时不考虑偶数,判断是单拿出来判断。筛选后是奇数且prime数组标记为1的是素数。
#include<stdio.h>#include<string.h>int prime[2000001];int main(){int n, i, j;memset(prime, 1, sizeof(prime));for(i = 3; i < 2000001; i += 2){if(prime[i]){for(j = i + i; j < 2000001; j += i)prime[j] = 0;}}while(scanf("%d", &n), n){if(n == 2){printf("2\n");continue;}if(n > 2)printf("2 ");for(i = 3; i <= n; i += 2){if(i == 2 || i % 2 != 0 && prime[i]){printf("%d ", i);}}printf("\n");}return 0;}
0 0
- 素数筛选法--快速查找素数
- 筛选法快速查找素数
- NYOJ-187-快速查找素数(素数筛选法)
- 素数快速筛选法
- 素数筛选法,快速获取素数序列
- 筛选法--快速求素数
- 快速查找素数 187 (筛选找素数 模板)
- 筛选法查找100以内的素数
- 筛选法查找100以内的素数
- 快速筛选法求素数表
- 素数筛实现素数的快速筛选
- 素数筛选与快速幂取模
- 快速幂取模&&素数筛选&&最大公约数
- 快速线性素数筛选[模板]
- NYOJ - 快速查找素数
- 快速查找素数
- 快速查找素数
- 187 快速查找素数
- 冒泡排序
- VirtuaBox E_NOINTERFACE (0x80004002)的可能原因
- JAVA基础——API(集合类)
- Ubuntu管理开机启动的服务
- 黑马程序员——.net与c#概述
- 素数筛选法--快速查找素数
- VS字体美化
- NBUT1220 spy
- params、ref及out
- git中文教程
- 判断ios版本号 自定义宏
- error:记错了type的用法
- 寒假训练--01背包,完全背包--小P的故事——神奇的Dota
- sem&&mutex