质数概念:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。例如:7只能被1和7整除,除此之外不能再被其他数字整除,7就是质数。6能被2,3整除,6就不是质数。
最小的质数是2,它也是唯一的偶数质数。最前面的质数依次排列为:2,3,5,7,11,13,17,19,23,29,31等。

分析过程:
1、从2开始遍历,如果这个数能被从2到小于它本身前一个数整除,那么这个数就不是质数
2、如果判断能够被整除,此时打个标记,标记这个数不是质数。
3、将所有被标记为质数的数,打印出来。

代码片段:

public class PrimeNumber {public static void main(String[] args) {int i, j;//定义一个标志位,默认所有数都是质数boolean IsPrime=true;for (i = 2; i <= 100; i++) {IsPrime=true;for (j = 2; j < i; j++) {if ( i%j ==0) {//如果能被整除,那么这个数就不是质数,这里标记下不是质数IsPrime=false;break;}}//break会跳出最近的一个循环体,即跳到这里if(IsPrime) {System.out.print(i + "\t");}}}
}

输出结果:

2    3   5   7   11  13  17  19  23  29  31  37  41  43  47  53  59  61  67  71  73  79  83  89  97

算法优化:
第 1 次优化:
将判断能否被整除的循环过程减半,如果从2到(i-1)中能被整除,那么从2到(i/2)也能被整除。所以只需判断从2到(i/2)能否被整除即可,注意这里包含等于(i/2)的数。
即把原来的

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

替换为

for (j = 2; j < =i/2; j++)

第 2 次优化:
如果从2到(i/2)能被整除,那么可以直接判断从2到 i 开平方中间能否被整除即可。这里用到一个方法Math.sqrt(i),表示 i 开平方。
即替换为

for (j = 2; j <= Math.sqrt(i); j++)

算法求100以内的质数相关推荐

  1. 求100以内的质数(Java版定义法、break优化,Math.sqrt()优化)

    说明 第一次写CSDN博客,一方面是记录自己学习复习,另一方面是向各位大牛学习,如有更优的算法,还望不吝赐教. 这是一个入门级的编程问题,常见的是求100以内的质数,这里为了能更好的体现算法的重要性, ...

  2. 计算100以内最大质数和求100以内的质数

    #计算100以内最大质数 for n in range(100,1,-1):#如果n==2时则最大质数为2if n==2:print('100以内最大质数为2')#判断是否为偶数if n%2==0:c ...

  3. C#求100以内的质数

    //控制台程序 static void Main(string[] args)       {           // 求100以内的质数           for (int i = 2; i & ...

  4. Python 求100以内的质数

    Python 求100以内的质数 list=[] for i in range(2,101): for j in range(2,i): if i%j ==0: break else: list.ap ...

  5. php100以内质数求和,100以内的质数_PHP质数计算三种方法 php求100以内的质数

    摘要 腾兴网为您分享:PHP质数计算三种方法 php求100以内的质数,自动刷宝,长沙银行,猿辅导,愈加等软件知识,以及cf一键刷枪,业主名录采集软件,卡乐光电,魔方虚拟光驱,掌上徐州,卡农社区,fa ...

  6. Golang 008. 求100以内的质数

    [基础入门题]Golang 008. 求100以内的质数 求100以内的质数,又称素数,即只能被1和本身整除的整数. ---------------------------- 源代码: package ...

  7. 求100以内的质数,质数定义为只能被1和其本身整除的数

    求100以内的质数,质数定义为只能被1和其本身整除的数 下面展示代码: package com.q.contact;public class HelloWorld {public static voi ...

  8. 【C++】设计算法求1000以内的质数数量

    题目: 设计算法求1000以内(包含1000)的质数数量 //求1000以内的质数数量,分析算法的时间复杂度 //author:Mitchell_Donovan //date:2021.3.2 #in ...

  9. java100以内的质数_Java求100以内的质数的四种方法

    质数: 又称素数,只能被1和它本身整除的数就是质数. 难点: 需要两层循环,外层循环99遍: 内层循环,控制除数为2到98(也就是2到被除数前面的一个数). 为什么从2开始?因为所有数都能被1整除. ...

  10. 算法一:求100以内的质数(Java和C#实现)

    如果你有好的实现方式欢迎留言沟通: 方法一: - C#实现demo及运行结果 - Java实现demo及运行结果 - 过程解释 方法二: - 实现过程 - 解释 方法一. 1.C#方式: class ...

最新文章

  1. 02-dispatch_barrier
  2. ​一个参数一张Excel表,玩转Pandas的read_excel()表格读取
  3. 降低预测过程计算成本,这些NLP模型压缩方法要知道
  4. 一行代码实现数据类型判断
  5. 什么营销鬼才!王老吉百家姓版本?
  6. 属性被分为八大类不包括_乙肝病毒携带者分为几类?主要有5类,包括乙肝表面抗原阳性患者...
  7. Oracle 中 call 和 exec的区别
  8. 我们大家都知道mysql_10个mysql中select语句的简单用法
  9. linux bcc_使用bcc / BPF在Linux中分析性能的7种工具
  10. Web前端工作笔记006---各种弹框框架
  11. 人工智能python营_贪心学习院人工智能python编程特训营
  12. vscode 格式化不加分号_大前端时代你的 VSCode 插件
  13. AD快捷键还原为默认配置
  14. 介绍两种简单实用的信道编码——CRC校验和汉明码
  15. Unity Shader学习:玻璃材质
  16. android 5.0官方安装包,Android5.0刷机包怎么安装 Android5.0刷机包安装教程
  17. 使用Java打印字母菱形
  18. 青海25项措施发展中藏医药 省领导任联席会议召集人
  19. 面试官:为什么 Kafka 如此之快?
  20. MySQL 中用NOW()和SYSDATE()函数获取当前日期时间

热门文章

  1. ansible自动运维
  2. 税控盘系统参数设置服务器,税控盘设置服务器地址
  3. 苹果锁定计算机的快捷键,苹果电脑快捷键使用 Mac快捷键大全详细介绍
  4. win10 如何设置眼睛保护色(绿色)
  5. 《计算机操作系统》(第四版)汤小丹 第二章思维导图
  6. gliffy confluen插件gliffy-confluence-plugin-5.1.ja破解
  7. Linux快速入门之文件操作(01)
  8. 空号检测、号码状态查询接口免费测试、精准实时版(支持携号转网查询)
  9. TDD (test driver development)测试驱动开发
  10. Epub,Mobi,Azw3电子书格式的区别,有什么好用的epub阅读器