zoukankan      html  css  js  c++  java
  • Java经典案例之-判断质数(素数)

    /**

     * 描述:任意输入两个数n,m(n<m)判断n-m之间有多少个素数,并输出所有素数。

     * 分析:素数即质数,除1和本身之外,不能被其他自然数整除的数。

     * 判断素数的方法为:用一个数分别去除2到sqrt(这个数),如果能被整除,这表明此数不是素数,反之是素数。

     * 作者:徐守威

     */

    package com.xushouwei;

    import java.util.*;

    public class T2 {

     

       /**

        * @param args

        */

       public static void main(String[] args) {

          // TODO Auto-generated method stub

          Scanner sc=new Scanner(System.in);

          System.out.println("请输入起始数n:");

          int n=sc.nextInt();

          System.out.println("请输入终止数m:");

          int m=sc.nextInt();

          //定义一个计数器用于记录素数的个数

          int cout=0;

          //判断所输入的数字时候符合问题要求

          if(n>=m)

          {

             //退出

             System.exit(0);

          }

          else

          {

             //外层循环用于遍历从n到m这些数

             System.out.print(n+"到"+m+"之间的素数数为:");

             for(int i=n;i<=m;i++)

             {

                //内层循环用于求出素数

                for(int j=2;j<=i;j++)

                {

                    //用i%j如果等于0并且j不等于i两个条件判断是否还有其他可以除尽的数,表明只有自身可以整除

                    if(i%j==0&&j!=i)

                    {

                       break;

                    }

                    else if(i==j)

                    {

                       //计数器加一

                       cout++;

                       //输出质数

                       System.out.print(i+" ");

                    }

                }

             }

             System.out.println();

             System.out.println(n+"到"+m+"之间的素数个数为:"+cout+"个!");

          }

     

       }

     

    }

  • 相关阅读:
    UDP最大传输字节
    [bzoj3994] [SDOI2015]约数个数和
    [bzoj3529] [Sdoi2014]数表
    [bzoj3309] DZY Loves Math
    [bzoj2693] jzptab
    [bzoj4407] 于神之怒加强版
    [bzoj3688] 折线统计
    [bzoj2301] [HAOI2011]Problem b
    [bzoj2820] YY的GCD
    [bzoj4559] [JLoi2016]成绩比较
  • 原文地址:https://www.cnblogs.com/Jasxu/p/sushu.html
Copyright © 2011-2022 走看看