欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java基础之打印质数

程序员文章站 2022-08-29 14:34:59
法一for(int i=2;i<101;i++) {int j=2;if(i==2) {System.out.println(i);}while(i%j!=0) {j++;if(j==i) {System.out.println(i);}}}法二for(int i=2;i<101;i++) {if(i==2||i==3) {System.out.println(i);}for...

法一

	for(int i=2;i<101;i++) {
		int j=2;
		if(i==2) {
			System.out.println(i);
		}
		while(i%j!=0) {
			j++;
			if(j==i) {
				System.out.println(i);
			}
		}
	}

法二

	for(int i=2;i<101;i++) {
			if(i==2||i==3) {
				System.out.println(i);
			}
			for(int j=2;j<=i/2;j++) {
				if(i%j==0) {
					break;
				}
				if(j==i/2) {
					System.out.println(i);
				}
			}
		}

法三

	boolean isFlag=true;//标识符i是否被除尽
	int count=0;//记录质数的个数
	for(int i=2;i<=100;i++){
		for(int j=2;j<=Math.sqrt(i);j++){
			
			if(i%j==0){
				isFlag=false;
				break;
			}
		}
		if(isFlag==true){
			System.out.println(i);
			count++;
		}
		isFlag=true;
	}
	System.out.println("质数的个数为:"+count);

计算速度

//100000以内的所有质数输出
/*
public class test{
	public static void main(String[] args){
	
		boolean isFlag=true;//标识符i是否被除尽
		int count=0;//记录质数的个数

		//获取当前时间距离1970-01-01 00:00:00的毫秒数
		long start =System.currentTimeMillis();

		for(int i=2;i<=100000;i++){//遍历100000以内的自然数
			for(int j=2;j<=Math.sqrt(i);j++){
				
				if(i%j==0){
					isFlag=false;
					break;
				}
			}
			if(isFlag==true){
				//System.out.println(i);
				count++;
			}
			isFlag=true;
		}
		//获取当前时间距离1970-01-01 00:00:00的毫秒数
		long end=System.currentTimeMillis();
		System.out.println("质数的个数为:"+count);
		System.out.println("所花费的时间为:"+(end-start));

	}	
}
*/

public class test{
	public static void main(String[] args){
	

		int count=0;//记录质数的个数

		//获取当前时间距离1970-01-01 00:00:00的毫秒数
		long start =System.currentTimeMillis();

		label:for(int i=2;i<=100000;i++){//遍历100000以内的自然数
			for(int j=2;j<=Math.sqrt(i);j++){
				
				if(i%j==0){
					
					continue label;
				}
			}

				count++;

	
		}
		//获取当前时间距离1970-01-01 00:00:00的毫秒数
		long end=System.currentTimeMillis();
		System.out.println("质数的个数为:"+count);
		System.out.println("所花费的时间为:"+(end-start));

	}	
}

本文地址:https://blog.****.net/qq_45922060/article/details/109584848

相关标签: Java基础 java