zoukankan      html  css  js  c++  java
  • 2java判断素数

    package com.test;

    import java.math.*;
    import java.util.Scanner;

    public class test222 {

    /**
    * @param args
    * 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。
    *
    * 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除(i%/2==0),
    *
    * 则表明此数不是素数,反之是素数。

    * 注:  一个大于1的自然数,除了1和它本身外,不能被其他自然数整除的数称之为素数。否则称之为合数。
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub


    System.out.println(Math.sqrt(9));;

    for(int ii=0;ii<=1;ii++){
    int i = 0;
    Scanner sc = new Scanner(System.in);
    int sa = sc.nextInt();
    // for (i = 2; i <= 10; i++)
    if (iszhishu(sa) == true)
    System.out.println("'"+sa+"' is a zhishu");
    else{
    System.out.println("sa: '"+sa+"' is not a zhishu");
    }
    if(sa!=0){
    ii=0;
    }else{
    System.out.println("---end---");
    }


    }


    }


    public static boolean iszhishu(int x) {
    for (int i = 2; i <= x / 2; i++)
    if (x % 2 == 0)
    return false;
    return true;
    }
    /*

    X: 1 2 3 4 5
    2<=1/2 2<=2/2=1 2<=3/2 2<=4/2=2,4%2=2...0; 2<=5/2;i=3<=5/2;
    return true true true false true

    6 7 8
    2<=6/2=3;6%2=3...0; 2<=7/2;7%2=3...1;i=3<=7/2;i=4<=7/2; 2<=8/2;8%2=4...0
    return false true false

    9 10
    2<=9/2;9&2=4...1;i=3<=9/2;i=4<=9/2;i=5<=9/2; 2<=10/2=5;10%2=5...0
    return true false

    规律总结:

    x%2==0 可以判断是不是整除2,感觉这样就可以判断是不是质素了,外面加个循环除以2,是为什么呢?不清楚,不过这样可以判断是否是素数,数据测试也是对的;
    程序没问题,就是看不懂/xk;
    有的人有写直接Math.sqrt()(//判断指定数的平方根内的数)判断;

    */


    }

  • 相关阅读:
    华为上机练习题--求两个数组的总和
    C++设计模式之状态模式(四)
    深入理解java嵌套类和内部类
    c++实现精确计时
    Linux-中断和中断处理
    使用C#对MongoDB中的数据进行查询,改动等操作
    淘特房产CMS系统 7.5
    sass03 变量、样式导入
    sass02
    sass01
  • 原文地址:https://www.cnblogs.com/signoffrozen/p/7117378.html
Copyright © 2011-2022 走看看