栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

输出100以内的质数 java

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

输出100以内的质数 java

java输出100以内的质数

class Ab{
	public static void main(String[] args){
		boolean isFlag = true;	//标识i是否能被j除尽,一旦除尽,修改其值。
		for (int i = 2;i <= 100; i++){	//遍历100以内的自然数
			for(int j = i-1; j>1; j--){		//j:被i去除
				if(i % j == 0){		//i被j除尽
					isFlag = false;}
			}
			if(isFlag == true){
			System.out.println(i + "是质数");
			}
		//重置isFlag
		isFlag = true;
		}
	}
}

或者是这样

class Ab{
	public static void main(String[] args){
		
		for (int i = 2;i <= 100; i++){	//遍历100以内的自然数
			boolean isFlag = true;	//标识i是否能被j除尽,一旦除尽,修改其值。
			for(int j = i-1; j>1; j--){		//j:被i去除
				if(i % j == 0){		//i被j除尽
					isFlag = false;}
			}
			if(isFlag == true){
			System.out.println(i + "是质数");
			}
		//重置isFlag
		//isFlag = true;
		}
	}
}

优化方式3:

class Ab{	//求100以内的质数
	public static void main(String[] args){
		long start = System.currentTimeMillis();
		for (int i = 2;i <= 10000; i++){	//遍历100以内的自然数
			boolean isFlag = true;	//标识i是否能被j除尽,一旦除尽,修改其值。
			//优化判断,j不要从i-1到1,可以从j-1到sqrt(i)
			for(int j = i-1; j>= Math.sqrt(i); j--){		//j:被i去除
				if(i % j == 0){		//i被j除尽
					isFlag = false;
					break;  //优化,对非质数只要进行一次判断即可
					}
			}

			if(isFlag == true){
			System.out.println(i + "是质数");
			}
		//重置isFlag
		//isFlag = true;
		}
		long end = System.currentTimeMillis();
		System.out.print("程序检索所有质数花费的时间:" + (end - start));
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号