素数的定义

素数:又称质数。是大于1自然数中的除了自身和1以外不能别其他数整除的数字。

第一种方法

利用这个素数的定义,我们可以得出第一种判断素数的方法:

int isPrime1(int n)

{

int i = 0;

//2是素数

if(n <= 3)

return n > 1;

//当n不能被除了1和n自身整除的数外的数是素数

for(i = 2; i < n; i ++)

{

if(n % i == 0)

return 0;

}

return 1;

}

这个方法是最简单的判断方法,它使用一个for循环来让n一次次的除以小于n的每个数,如果除尽了的话,就不满足素数的定义。

但是这个方法也是计算量最大的。它总共会计算n-2次。

第二种方法

第二种方式是:如果 n 能够被 2 ~

之间的数整除就不是素数(合数),反之为素数。

所以,根据这个性质我们可以减少判断的次数来节约运算时间。

int isPrime2(int n)

{

int i = 0;

if(n <= 3)

return n > 1;

//讲判断条件改为 i <= sqrt(n),即对n开平方

for(i = 2; i <= sqrt(n); i ++)

{

if(n % i == 0)

return 0;

}

return 1;

}

这个方法比上一个方法减少了很多的时间。所以使用这种方法的时候会更能提高程序的效率。

有人可能会问,这里为什么是

因为一个数 N 的的因数可以分为两部分,一部分是小于

的,另一部分是大于

的。而小于的那部分和大于的一一对应。所以只需要判断 2 ~

即可。

python判断素数的方法简书_判断素数相关推荐

  1. python判断素数的方法简书_深入浅出RSA在CTF中的攻击套路

    0x01 前言 本文对RSA中常用的模逆运算.欧几里得.拓展欧几里得.中国剩余定理等算法不展开作详细介绍,仅对遇到的CTF题的攻击方式,以及使用到的这些算法的python实现进行介绍.目的是让大家能轻 ...

  2. python中format函数用法简书_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...

    Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...

  3. python多线程并发数量控制简书_科学网—python多线程编程 - 郗强的博文

    Python是支持多线程的,主要通过thread和threading两个模块来实现,其中thread模块比较底层(或者说是轻量级的),而threading模块对thread做了一些包装,可以更加方便地 ...

  4. 小甲鱼python课后题和答案简书_【py小甲鱼笔记】-列表

    要点:通过print(dir(list))来查看列表的所有方法,然后通过help(list.index).help(list.sort) 等查看帮助文档,这样就可以快速了解列表的每一个函数的用法 一. ...

  5. python中format函数用法简书_增强的格式化字符串format函数

    自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 它通过{}和:来代 ...

  6. 小甲鱼python课后题和答案简书_【py小甲鱼笔记】-函数

    课后作业: 1. 请问这个函数有多少个参数? def MyFun((x, y), (a, b)): return x * y - a * b 如果你回答两个,那么恭喜你错啦,答案是0,因为类似于这样的 ...

  7. python刷阅读_通过python+selenium3实现浏览器刷简书文章阅读量

    准备工作 下载python,本文以python3.6为例.python3.6下载地址:python3下载地址,选择合适的版本安装.安装成功后,打开命令提示符,在其中输入python,显示如下信息,则说 ...

  8. python工厂模式 简书_工厂

    思考题 public void printMenu() { PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu(); ArrayList ...

  9. python工厂模式 简书_工厂模式

    什么是工厂设计模式? 定义一个用于创建对象的接口,让子类决定将哪一个类实例化,专门用来生产对象.在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如 ...

最新文章

  1. python需要具备什么_入门Python需要掌握哪些技能呢?
  2. CentOS 6.5系统安装配置图解教程(详细图文)
  3. 限时领取!CSDN夏日惊喜礼包上线啦~
  4. 面象对象设计6大原则之四:接口隔离原则
  5. java 中 transient关键字
  6. 没有bug队——加贝——Python 练习实例 1,2
  7. pythonselenium一个简单的自动化测试实战:百度搜索
  8. unity怎么导入系统的树_unity3d 随机添加树木
  9. pandas的to_csv()使用方法
  10. vector.resize 与 vector.reserve的区别(转载)
  11. Python|凯撒密码加密字符串
  12. FreeRTOS入门知识(教你快速入门)
  13. 数据库存储过程讲解与实例
  14. python实现离职滤波_如何用Python预测员工离职率?
  15. SAP SD初阶之VL10A为销售订单创建外向交货单
  16. 2020.04.16今日份学习小结
  17. python2.7运行报警告:UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode
  18. 计算机组成原理第一章作业,计算机组成原理第一章习题答案(作业).doc
  19. CSS3小可爱亲吻表白特效,给你的五一假期增添点小乐趣
  20. HDU 1983:Kaitou Kid - The Phantom Thief (2)

热门文章

  1. linux驱动开发(转载自正点原子)
  2. 神经网络结构设计指导原则
  3. 如何使用在线视频转换器转换文件格式?
  4. Java基础总结篇---Map接口
  5. 2023年全国最新保安员精选真题及答案28
  6. ElasticSearch学习笔记-同义词记录
  7. 麒麟文件服务器,麒麟服务器版如何远程共享桌面
  8. MacOS使用痕迹及调查
  9. java编程基础部分
  10. ossimplanet编译,修改操作器及其他