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++;
        }
    }
相关文章
|
6月前
|
Java
【java作业3——类的定义】复数,连续子数组,最大素数
🍒 1 定义复数类 作业内容: 定义一个复数类Complex(数据成员:a,b表示复数a+bi).并配以合适的方法完成复数对象的生成、复数的运算(加、减、乘除),然后做一个主类测试它。
50 0
|
3月前
|
存储 算法 Java
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
45 0
|
6月前
|
算法 C++ Python
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
54 0
Java每日一练(20230430) 文本左右对齐、素数和、整数转英文表示
|
Java
Java 实现汉字按照首字母分组排序
Java 实现汉字按照首字母分组排序
715 0
|
Java
Java实现判断素数
Java实现判断素数
49 0
Java实现判断素数
|
Java C语言
显示输出2~100中的素数,每行显示5个数 java 和 c语言
显示输出2~100中的素数,每行显示5个数 java 和 c语言
223 0
|
Java 数据安全/隐私保护
JAVA 实现上传图片添加水印(详细版)(上)
JAVA 实现上传图片添加水印(详细版)
1265 0
JAVA 实现上传图片添加水印(详细版)(上)
|
网络协议 Java
Java网络编程:UDP/TCP实现实时聊天、上传图片、下载资源等
ip地址的分类: 1、ipv4、ipv6 127.0.0.1:4个字节组成,0-255,42亿;30亿都在北美,亚洲就只有4亿 2011年就用尽了。
Java网络编程:UDP/TCP实现实时聊天、上传图片、下载资源等
|
Java
Java实现拼图小游戏(7)——查看完整图片(键盘监听实例2)
由于在移动和图片中我们已经添加了键盘监听,也继承了键盘监听的接口,那么我们只需要在重写方法内输入我们的代码即可
219 0
|
存储 Java
Java实现图书管理系统
本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
420 0
Java实现图书管理系统
下一篇
无影云桌面