• 质数(素数)prime :只能被 1 和 它本身整除的自然数,不可再分,(三种方式求出质数)


    • 从 2 开始,到这个数 减 1 结束为止, 都不能被这个数本身整除。
    • 例如:5 是否是质数 ? 那么  2,3,4,都不能被 5 整除  所以 5 是 质数
    • 判断 n 是否是质数? 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,n-1,这些数只要都不能被 n 整除,那么n就是质数。
    • 2 < 被除的数 < n-1,n 就是要判断是否是质数的数
    • 必须在这个区间内都不能被整除,如果有一个被整除,就不是质数
    • 最小的质数是:2

     1、第一种方式

    1. public class PredicatePrime {
    2. public static void main(String[] args) {
    3. //遍历100以内的自然数
    4. for (int i = 2; i <=100; i++) {
    5. //标识 i 是否被 j 除 尽 ,一旦除尽,修改其值
    6. boolean flag = true;
    7. for (int j = 2; j < i; j++) {
    8. // i 被 j 除 尽
    9. if (i % j == 0) {
    10. flag = false;
    11. }
    12. }
    13. if (flag) {
    14. System.out.println(i);
    15. }
    16. }
    17. }
    18. }
    1. public class PredicatePrime {
    2. public static void main(String[] args) {
    3. boolean flag = true;
    4. //遍历100以内的自然数
    5. for (int i = 2; i <=100; i++) {
    6. for (int j = 2; j < i; j++) {
    7. // i 被 j 除 尽
    8. if (i % j == 0) {
    9. flag = false;
    10. }
    11. }
    12. if (flag) {
    13. System.out.println(i);
    14. }
    15. //重置flag
    16. flag = true;
    17. }
    18. }
    19. }

     2、质数输出的算法优化一

    1. public class PredicatePrime {
    2. public static void main(String[] args) {
    3. boolean flag = true;
    4. //遍历100以内的自然数
    5. for (int i = 2; i <=100; i++) {
    6. for (int j = 2; j < i; j++) {
    7. // i 被 j 除 尽
    8. if (i % j == 0) {
    9. flag = false;
    10. break;//优化一:只对本身非质数的自然数是有效的。
    11. }
    12. }
    13. if (flag) {
    14. System.out.println(i);
    15. }
    16. //重置flag
    17. flag = true;
    18. }
    19. }
    20. }

    3、质数输出的算法优化二

    1. public class PredicatePrime {
    2. public static void main(String[] args) {
    3. boolean flag = true;
    4. //遍历100以内的自然数
    5. for (int i = 2; i <= 100; i++) {
    6. //优化二:对本身是质数的自然数是有效的。
    7. for (int j = 2; j <= Math.sqrt(i); j++) {
    8. // i 被 j 除 尽
    9. if (i % j == 0) {
    10. flag = false;
    11. break;//优化一:只对本身非质数的自然数是有效的。
    12. }
    13. }
    14. if (flag) {
    15. System.out.println(i);
    16. }
    17. //重置flag
    18. flag = true;
    19. }
    20. }
    21. }
  • 相关阅读:
    PG14启动报错“max_stack_depth“ must not exceed 7680kB
    CentOS 搭建本地 yum 源方式 安装 httpd 服务
    CKAN教程之将 Snowflake 连接到 CKAN 以发布到开放数据门户
    从原理剖析带你理解Stream
    一百八十五、大数据离线数仓完整流程——步骤四、在Hive的DWD层建动态分区表并动态加载数据
    VB开发OCX控件的属性之自定义列表项
    https://blog.51cto.com/u_15127582/4009565
    足底筋膜炎症状及治疗方法
    172基于matlab的MPPT智能算法
    如何在CSDN获得铁粉
  • 原文地址:https://blog.csdn.net/m0_65152767/article/details/134045805