求质数

来源:互联网 发布:讲课视频软件 编辑:程序博客网 时间:2024/06/05 02:50
/** *  */package test1;import java.util.Scanner;/** * @author lenovo * */public class TestZhiShu {/** * @param args */public static void main(String[] args) {System.err.println("输入数字:");Scanner scan = new Scanner(System.in);int num = scan.nextInt();long time1 = System.currentTimeMillis();for (int i = 0; i < num; i++) {boolean zhishu = prime1(i);//boolean zhishu = prime2(i);if (zhishu){System.err.println(i);}}long time2 = System.currentTimeMillis();System.err.println("开始时间:" + time1 + "ms");System.err.println("结束时间:" + time2 + "ms");System.err.println("求" + num +"以内的质数,用时:" + (time2-time1) + "ms");}public static boolean prime1(int num) {if (num <= 2) {return false;}for (int i = 2; i < num; i++) {if (num % i != 0) {continue;}return false;}return true;}public static boolean prime2(int num) {//求100000000以内的质数,用时:331963msif (num <= 2) {return false;}for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i != 0) {continue;}return false;}return true;}}

0 0
原创粉丝点击