欧拉筛素数
时间:2022-05-10
本文章向大家介绍欧拉筛素数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
欧拉筛素数:
时间复杂度:O(n)
主要思路:对于每一个合数,让他的最大的约数把他筛去
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #define lli long long int
6 using namespace std;
7 const int MAXN=10000001;
8 void read(int &n)
9 {
10 char c='+';int x=0;bool flag=0;
11 while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
12 while(c>='0'&&c<='9')
13 x=(x<<1)+(x<<3)+c-48,c=getchar();
14 flag==1?n=-x:n=x;
15 }
16 int n,m;
17 bool check[MAXN];
18 int prime[MAXN];
19 int tot=0;
20 int main()
21 {
22 read(n);read(m);
23 for(int i=2;i<=n;i++)
24 {
25 if(!check[i])
26 prime[++tot]=i;
27 for(int j=1;j<=tot;j++)
28 {
29 if(i*prime[j]>n)
30 break;
31 check[i*prime[j]]=1;
32 if(!i%prime[j])// 前面已经用i*prime[j]把他能筛去的筛去,
33 //如果满足情况的话说明前面被筛过
34 break;
35 }
36 }
37 for(int i=1;i<=m;i++)
38 {
39 int q;
40 read(q);
41 if(q==1)
42 printf("Non");
43 else if(!check[q])
44 printf("Yesn");
45 else
46 printf("Non");
47 }
48 return 0;
49 }
- TensorFlow从0到1 | 第十七章 Step By Step上手TensorBoard
- C#要点
- MySQL索引背后的数据结构及算法原理
- 生物信息Python从入门到精通
- Entity Framework——建模建库
- asp.net web api 构建api帮助文档
- TensorFlow从0到1 | 第十八章: 升级手记:TensorFlow 1.3.0
- 设计一个可扩展的用户登录系统
- 字符串和编码
- windows service编程
- Entity Framework——常见报错总结
- MySQL 主从复制的原理和配置
- Entity Framework——读写分离
- 如何在 MySQL 中判断中文字符?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法