mysql 判断质数_质数(素数)判断算法总结
1.原始算法
就是将质数的定义翻译成代码,就要看i是否能被小于它的sqrt( i )的数整除。
时间复杂度O(n*sqrt(n)) 空间复杂度O(m) m为质数个数。
2.质数筛法
①定义bool is_prime[n+1],初始化为1(奇数为1,偶数为0)
②已经2为最小的质数,将2的倍数的布尔值都设为false,如此类推。
要注意的是最好不要把求sqrt(n)放入循环体内。
③依据is_prime数组输出相应的质数。
时间复杂度近似O(n) 空间复杂度O(n)
#include #include
using namespacestd;bool* prime_sieve(intn) {bool* p=new bool[n+1];
memset(p,1, sizeofp);int sn=(int)sqrt((double)n);for (int i = 2; i <= sn; i++)if(p[i])for (int j = 2*i; j <= n; j+=i)
p[j]= false;returnp;
}voidmain()
{intn;
cin>>n;bool *primes;
primes=prime_sieve(n);for(int i=2;i<=n;i++)
{if(primes[i])
{
cout<
}
}
cout<
}
质数相关数学知识:
1.高斯猜测,n以内的素数个数大约与n/ln(n)相当,或者说,当n很大时,两者数量级相同。这就是著名的素数定理。
2.十七世纪费马猜测,2的2^n次方+1,n=0,1,2…时是素数,这样的数叫费马素数,可惜当n=5时,2^32+1就不是素数,
至今也没有找到第六个费马素数。
3.18世纪发现的最大素数是2^31-1,19世纪发现的最大素数是2^127-1,20世纪末人类已知的最大素数是2^859433-1,用十进制表示,这是一个258715位的数字。
4.孪生素数猜想:差为2的素数有无穷多对。目前知道的最大的孪生素数是1159142985×2^2304-1和1159142985×2^2304+1。
5.歌德巴赫猜想:大于2的所有偶数均是两个素数的和,大于5的所有奇数均是三个素数之和。其中第二个猜想是第一个的自然推论,因此歌德巴赫猜想又被称为1+1问题。我国数学家陈景润证明了1+2,即所有大于2的偶数都是一个素数和只有两个素数因数的合数的和。国际上称为陈氏定理。
mysql 判断质数_质数(素数)判断算法总结相关推荐
- python判断是否质数_质数判断python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python3初学实践案例(11)判断质数以及计算一个数字的质因数昨天晚上看到群 ...
- mysql 手机号省份_根据手机号 判断省份和运营商
移动号段: 134 135 136 137 138 139 147 148 150 151 152 157 158 159 165 172 178 182 183 184 187 188 198 联通 ...
- java素数对算法_Java版本 质数(也叫素数)算法
int MaxNum = 100000; // 查找 2到MaxNum 这范围内的素数 ( MaxNum 要>= 2 ). int i, j; // 计数器. int PrimeTemp [] ...
- java 正则判断二进制_用正则表达式判断一个二进制数是否能被3整除
我们之前已经见过了正则表达式的一些很特殊的用法.这里我们再来看一个:用正则表达式判断数的整除性.例如,下面这个表达式可以匹配01串S当且仅当S是一个可以被3整除的二进制数. ^1((10*1)|(01 ...
- java判断题_【Java判断题】请大神们进来看下、这些判断题你都知道多少~
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 .判断改错题(每题2分,共20分)(正确的打√,错误的打×并说明原因) 1. Java系统包提供了很多预定义类,我们可以直接引用它们而不必从头开始编写程序 ...
- java 如何判断余数_用java判断一个数是不是回文数!
哈喽大家好,这里是Java小白成长记! 昨天分享了怎么来判断一个数字的奇偶性,其中用到了if选择语句和求余运算,虽然都不是很难的知识点,但是也不可能分享一次就不管了,所以今天继续分享一个和它俩有关的代 ...
- python判断成年_用python判断你是青少年还是老年人
今天来给大家讲讲python中最基本的 if 条件语句,这几乎是所有编程语言中都存在的语句,只是语法结构稍有不同. 程序之所以能自动处理很多的事情,if条件语句在这里功不可没,程序可以通过if来判断不 ...
- python判断成年_使用python判断你是青少年还是老年人
今天来给大家讲讲python中最基本的 if 条件语句,这几乎是所有编程语言中都存在的语句,只是语法结构稍有不同. 程序之所以能自动处理很多的事情,if条件语句在这里功不可没,程序可以通过if来判断不 ...
- mysql最大公约数_最大公约数用算法
世界上最早的算法:辗转相除法(求两个自然数最大公约数) 在数学界,辗转相除法,又称欧几里得算法,被认为是世界上最早的算法(公元前300年),该算法用于求两个最大公约数的算法.辗转相除法首次出现于欧几里 ...
- c语言判断一个数是不是质数的n次方,c语言实践 判断一个数是不是素数
int main() { int input = 0; scanf_s("%d",&input); if (input < 2) { printf("wro ...
最新文章
- 基于Hash的消息认证码HMAC简介及在OpenSSL中使用举例
- Swift 反射Mirror的使用
- 函数组:SPO1/2/3/4/5/6/8
- 抽象类、抽象方法与代码块
- 【30分钟学完】canvas动画|游戏基础(1):理论先行
- 项目中缺少maven dependencis,或者pom文件报红
- 深度学习导论(2)深度学习案例:回归问题
- elementui 进度条怎么做_小E,Excel中这样的进度条是怎么做出来的?
- 微信公众平台开发问答 【转发】
- [开发笔记]-判断当前是否联网
- TensorFlow GAN项目程序回顾2020.12.03
- Maven工程解决pom依赖红色波浪线报错
- 从服务端接收数组_Kafka系列第6篇:消息是如何在服务端存储与读取的,你真的知道吗?...
- json格式化工具有哪些?在项目中使用什么工具来格式化JSON数据?
- 黑马Python笔记3
- windows中如何识别RTL8111B/8111C/8111D/8111E/8111F网卡 转自网络
- 吴恩达机器学习 编程作业 python 版提交方法以及代码-week2
- TensorFlow 系列案例(2):自然语言处理-TensorFlow + Word2Vec
- Bootstrap折叠导航栏
- 【每日一读】ALG: Fast and Accurate Active Learning Framework for Graph Convolutional Networks