求出100~200之间的素数

来源:互联网 发布:淘宝店铺最高等级 编辑:程序博客网 时间:2024/05/22 01:28

求出100~200之间的素数的个数,并求出所有的素数。
分析:素数定义是只能被1和该数本身整除

package com.math.forth;/** * 求出100~200之间的素数的个数,并求出所有的素数。  * 分析:素数定义是只能被1和该数本身整除 *  * @author wql * */public class Math02 {    public static void main(String[] args) {        int sum1 = method();        System.out.println("\n一共有" + sum1 + "个素数");        System.out.println("------------method2---------------");        int sum2 = 0;        for (int i = 100; i <= 200; i++) {            if (method2(i)) {                sum2++;                System.out.print(i + " ");            }        }        System.out.println("\n一共有" + sum2 + "个素数");        System.out.println("------------method3---------------");        int sum3 = 0;        for (int i = 100; i <= 200; i++) {            if (method3(i)) {                sum3++;                System.out.print(i + " ");            }        }        System.out.println("\n一共有" + sum3 + "个素数");    }    public static int method() {        int sum = 0;        for (int i = 100; i <= 200; i++) {            for (int j = 2; j < i; j++) {                if (i % j == 0) {                    break;                }                if (j == i - 1) {                    System.out.print(i + " ");                    sum++;                }            }        }        return sum;    }    public static boolean method2(int i) {        for (int j = 2; j < i; j++) {            if (i % j == 0) {                return false;            }        }        return true;    }/***数量级灰常大,运算能力强*/    public static boolean method3(long n) {        for (long i = 2; i * i <= n; ++i) {            if (n % i == 0) {                return false;            }        }        return true;    }}

推荐文章:http://blog.csdn.net/snow_me/article/details/52588819

原创粉丝点击