zoukankan      html  css  js  c++  java
  • java学习日记-基础-列出2~100内的素数

    素数的概念:一个整数如果只能整除1和它本身,那么这个整数就是一个素数

    方法一:素数是除去能被2整除、3整除、5整除、7整除的整数,但包含2,3,5,7

    public class Sushu {
        public static void main(String[]args){
            String str="2 3 5 7 ";
            for(int i=2;i<=100;i++){
                if(i%2==0||i%3==0||i%5==0||i%7==0 ){  //;逻辑判断,筛选
                    continue;                         //继续下一次循环
                } else {
                    str+=i+" ";                        //筛选出需要的素数(不包含2 3 5 7 )
                }
            }
            System.out.println("2~100内的素数是:"+str);
        }
    }

    方法二:通过boolean筛选来判断素数

    调用方法:如果一个整数数的不能整除2到这个数开平方区间的整数,那么这个数就是一个素数

    public class Sushu {     
        public static boolean isPrime(int num) {           //定义判断素数的方法isPrime()
           for(int i = 2; i <= Math.sqrt(num); i++) {    //程序默认2是素数,当j=2时,循环不执行
               if(num % i == 0) {              //Math.sqrt(num)   对num开平方
                 return false;
               }
           }
           return true;
        }
        public static void main(String[] args) {      //主方法
            for(int j = 2; j <= 100; j++) {                
                if(Sushu.isPrime(j)) {                    //调用isPrime()方法,注意调用方法的格式
                    System.out.println(j + " is a prime");
                }
            }      
        }
    }
    

    方法三:更常规的算法for循环

    public class Demo07 {
        public static void main(String[] args) {
            boolean isPrint = false;
            for (int k = 2; k <= 100; k++) {
                isPrint = true;//--布尔类型的变量通常以is开头。
                for (int l = 2; l < k; l++) {
                    if(k % l == 0){//能否断定k就一定是素数。
                        isPrint = false;
                        break; //跳出当前循环
                    }
                }            
                if(isPrint){
                    System.out.println(k);
                }
            }
        }
    }

    这段代码我是大写的服!

    写一个程序的过程:   需求:       问题是什么,想要实现什么?  (面向对象)

              分析:       要实现问题的解决要分几个步骤,每步之间的关系(有点面向过程的味道)

              实现:       如何通过方法实现

              代码体现:  代码精炼、逻辑感强、加注释、易维护

  • 相关阅读:
    0111. Minimum Depth of Binary Tree (E)
    0735. Asteroid Collision (M)
    0133. Clone Graph (M)
    1007. Minimum Domino Rotations For Equal Row (M)
    2018-8-10-win10-uwp-关联文件
    2018-2-13-win10-uwp-手动锁Bitlocker
    2018-2-13-win10-uwp-切换主题
    jquery开关灯
    jquery隔行变色
    jquery体验
  • 原文地址:https://www.cnblogs.com/slowcity/p/6819717.html
Copyright © 2011-2022 走看看