Java实现一百以内的所有素数的三种方式

简介: Java实现一百以内的所有素数的三种方式

Java实现一百以内的所有素数的三种方式


第一种方式

质数:素数

质数:只能被1和他本身整除的数字

最小的质数:2 3 5 7 11 13 17 19 23…

思路1

先得到2-100之间所有的数字

然后得到这个数字x需要%的数字[2到x-1]

如果2到x-1之间有一个数字可以被x整除的话

那么就计数器+1[计数器在统计除了1和他本身之外有几个数字可以被x整除]

等2到x-1之间所有的数字都判断完之后 看看计数器是不是为0

如果是0说明在这个区间里面没有数字可以被x整除

那么打印出来就可以

  for(int x = 2;x <= 100;x++){//1-100之间所有的数字
    //每一个数字都需要有单独的计数器
    int count = 0;
    //%其他的数字 x%1 == 0 x%x==0    x%比x大的数字=x
    for(int y = 2;y < x;y++){//其他的数字
      if(x % y == 0){
        count++;
      }
    }
    if(count == 0){
      System.out.println(x);
    }
  }

第二种方式

先得到2-100之间所有的数字

再得到这个数字x需要%的数字[2到x-1]

如何发现2到x-1之间有一个数字可以被x整除

说明x不是质数 那么应该跳过 看下一个数字x

比如x = 9 本来应该拿着9%[2-8]

但是当我们拿着9%3就已经和0相等 说明除了1和9之外

还有一个数字3可以被9整除 说明9不是质数

那么就没有必要拿着9继续%[4-8] 直接换成10这个数字就可以

  a:for(int x = 2;x <= 100;x++){
    for(int y = 2;y < x;y++){
       if(x % y == 0){
           continue a;//本来是结束本次循环,这里加了标签,直接结束本次最外边的for循环
       }
    }//该%的数字都已经%完
    System.out.println(x);
  }

第三种方式

  int count = 0;
    for (int x = 2; x < 100; x++) {
        boolean flag = true;
        for (int y = 2; y < x;y++) {
            if (x % y == 0) {//如果可以除尽,说明不是素数,我们把标识换成false,这样就不会打印
                flag = false;
                break;
            }
        }
        if (flag) {
            System.out.println(x);
            count++;
        }
    }
相关文章
|
存储 算法 Java
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
251 0
|
算法 C++ Python
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
180 0
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
|
Java
【java作业3——类的定义】复数,连续子数组,最大素数
🍒 1 定义复数类 作业内容: 定义一个复数类Complex(数据成员:a,b表示复数a+bi).并配以合适的方法完成复数对象的生成、复数的运算(加、减、乘除),然后做一个主类测试它。
141 0
|
Java C语言
显示输出2~100中的素数,每行显示5个数 java 和 c语言
显示输出2~100中的素数,每行显示5个数 java 和 c语言
387 0
|
Java
Java实现判断素数
Java实现判断素数
181 0
Java实现判断素数
|
Java
Java经典编程习题100例:第22例:判断随机整数是否是素数
Java经典编程习题100例:第22例:判断随机整数是否是素数
171 0
|
Java 数据安全/隐私保护
JAVA 实现上传图片添加水印(详细版)(上)
JAVA 实现上传图片添加水印(详细版)
1755 0
JAVA 实现上传图片添加水印(详细版)(上)
|
Java
Java 实现汉字按照首字母分组排序
Java 实现汉字按照首字母分组排序
988 0
|
存储 Java
Java实现图书管理系统
本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
592 0
Java实现图书管理系统
|
Java Windows Spring
java实现spring boot项目启动时,重启Windows进程
java实现spring boot项目启动时,重启Windows进程
675 0
下一篇
开通oss服务