质数(素数):大于 1 的正整数只能被 1 和 他本身 整除
从 2 开始,到这个数 -1 为止,都不能被这个数本身整除的自然数
最小的素数是: 2

【例题】 求 1 ~ 100 之间的质数

思路
定义一个布尔型的变量,用来标识 是否被j 除尽,除尽标识为false ,说明不是质数
双层循环
外循环 遍历 1 ~ 100之间的自然数
内循环  i 去 除的数
对质数的优化:
Math.sqrt(i)  i 开平方 例: 80 =  20 * 40 ,80 可以被 20 除尽,一定可以被 40 除尽
所以就可以只除前面的数,随着左面的数越来越大,除出来的数越来越小,临边点是除与这个数等于这个数的本身
,这个数就是这个数的平方,极限值就是到开方。
对非质数的优化:一旦 i 发现有一个j 被除尽了,后面的j就不在算了 ,比如 这道题是 2 ~ 100,如果这个数被2 除尽了 就说明他不是质数,后面也就不用在算了

public class ZhiShuTest {public static void main(String[] args) {int count =0;//计算质数的个数boolean isflag = true;//标识i是否被j除尽,一旦除尽,修改值for(int i =2;i < 100 ;i++) {//外层循环遍历 1 ~ 100之间的自然数for(int j=2;j <= Math.sqrt(i);j++ ) {// i  去 除的数 Math.sqrt(i) 对质数的优化if( i % j == 0) {// i被 j 除尽 说明是非质数isflag = false;break;//对非质数的优化}}if(isflag == true) {System.out.println(i);//输出质数count++;}isflag = true;//重置}System.out.println("质数的个数:"+count);}}

【例题】

从键盘输入两个数,为 上  下限,然后10个一行输出上下限间的所有质数
public class TestSix {public static void main(String[] args) {boolean isflag = true;int count =0;//质数的个数int number=0;Scanner scan = new Scanner(System.in);System.out.println("请输入第一个数:");int a = scan.nextInt();System.out.println("请输入第二个数:");int b= scan.nextInt();for(int i = a; i < b;i++) {//遍历区间的自然数for(int j=2; j<=Math.sqrt(i);j++ ) {if(i % j == 0) {isflag = false;}}if(isflag == true) {System.out.print(i+" ");number ++;if(number % 10 == 0) {System.out.println(" ");}count++;}isflag = true;}System.out.println();System.out.println("质数的个数为:"+count);}}
输出:
请输入第一个数:
2
请输入第二个数:
100
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
质数的个数为:25

java-求质数(素数)相关推荐

  1. python实现求质数(素数)

    python实现求质数(素数) 素数(质数):我们把公约数只有1和它本身的数字称为素数又称为质数,具体使用python的求法如下: num = [] # 定义一个空列表用来接收找到的符合条件的数字 f ...

  2. 用Java求质数(素数)等问题

    质数,又称素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 简单理解就是质数是一个大于1的自然数,除了1和它自身外,不能被其他自然数整除: 否则称为合数(规定1既不是质数也不是 ...

  3. Java 洛谷 求质数(素数)、合数、因数、最大公约数、最小公倍数

    什么是因数? "因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数.而小学数学定义 :假如a*b=c(a.b.c都是整数),那么我们称a和b就是c的因数.&q ...

  4. java中求质数(素数)的问题

    1.什么是质数? 定义:质数又称为素数,一个大于1的自然数,除了1和它自身之外,不能被其他任何自然数整除的数叫质数. 2.请输出1~100之间的所有的质数? 3.思路: <1>外层循环作为 ...

  5. java求质数(素数)的快速算法

    public static List<Integer> ListPrime(int n) { /* * false为质数,true为合数 */ boolean[] primeList = ...

  6. 求质数(素数)的方法

    质数是数学重要的一环,所谓质数,就是除了1和它本身外不存在任何因子的数.以下整理了一下c语言中质数的求法. 问题:输入一个正整数n(n>=2),求不大于n的全部质数 方法一:循环法 思路:判断一 ...

  7. MySQL素数怎么,求质数(素数)的方法

    质数是数学重要的一环,所谓质数,就是除了1和它本身外不存在任何因子的数.以下整理了一下c语言中质数的求法. 问题:输入一个正整数n(n>=2),求不大于n的全部质数 方法一:循环法 思路:判断一 ...

  8. java求质数为什么%3ci 2_C语言程序设计部分习题及例题参考程序

    <C语言程序设计>部分例题及课后习题参考程序 1.编程计算如下分段函数: [参考程序] #include <> int main() { float x,y; printf(& ...

  9. 用java语言求前50个素数_Java求质数的几种常用算法总结

    Java求质数的几种常用算法分析 本文实例讲述了Java求质数的几种常用算法.分享给大家供大家参考,具体如下: 1.根据质数的定义求 质数定义:只能被1或者自身整除的自然数(不包括1),称为质数. 利 ...

  10. Java实现求质数(素数)

    Java实现求质数(素数) 题目要求: 输出0-100以内的所有质数(素数). 质数:只能被 1 和它本身整除的数. 1不是素数也不是合数. 代码实现: public class PrimeNumbe ...

最新文章

  1. 【天线】天线基础:名词解释
  2. html横向排列flex,flex布局示例
  3. 5种最流行的AI编程语言
  4. linux tomcat 启动权限不足解决办法
  5. 1-第一个pyqt5程序
  6. python 数据平滑_数据平滑方法的原理和应用
  7. ElementUI简单分页
  8. 进程隐藏、驱动加载的小工具...
  9. 中医药天池大数据竞赛——中医文献问题生成挑战(三)
  10. 种草推荐redis客户端
  11. Auto Flow Control (AFC) 自动流控制 与 FIFO
  12. pentaho的使用与感受
  13. 中国平安会不会成为美国的世通或者安然?
  14. 网迅wx1860网卡原理图驱动
  15. 天气数据API接口记录
  16. 如何压缩图片到500KB?怎么压缩图片到指定大小?
  17. python解除windows锁屏_用python获取win10锁屏图片
  18. python实现SVG文件解析
  19. cto(cto是什么职位)
  20. Spring boot自定义拦截器和拦截器重定向配置简单介绍~!

热门文章

  1. python求交点坐标_Python - 两圆相交求交点坐标
  2. 使用time命令测试程序
  3. 拯救剪辑师,这款转码神器让专业制作提速增效!
  4. 魅族16Android版本,手机评测 篇四:用户对魅族16最关心的6个问题,一定要看完!...
  5. 华南农业大学 Linux 期末简答速成
  6. 简单实用出入库管理系统开源 实用进销存管理系统 快销品管理平台 电商进出库管理系统 全开源
  7. 5G未完又来6G? 全球“6G接力赛”大盘点在这里!
  8. Docker安装Oracle_11g数据库并配置
  9. 用xmmp+openfire+smack搭建简易IM实现
  10. catia转stp有破面_CATIA破面修复教程.ppt