JAVA及PYTHON质数计算代码对比解析

(编辑:jimmy 日期: 2024/11/14 浏览:2)

Java 实现

class PrimeNumber{
	public static void main(String[] args) {
		long start=System.currentTimeMillis();
		int count=0;
		label:for(int i=1;i<=100000;i++){
			for (int j=2;j<=Math.sqrt(i);j++) {
				if(i%j==0){
					continue label; //返回外层循环
				}	
			}
			count++;
			// System.out.println(i);
		}
		long end=System.currentTimeMillis();
		System.out.println("count"+count); //9593
		System.out.println("time(ms)"+(end-start)); //time 14ms
	}

}

Python 实现

import time
import math
def main():
	start=time.time()
	count=0
	for i in range(1,100001):
		isFlag=True
		for j in range(int(math.sqrt(i)),1,-1):
			if i%j==0:
				isFlag=False
				break
		if (isFlag):
			count+=1
	end=time.time()
	print('count',count) //9593
	print('time(ms)',(end-start)*1000) //697.28684425354ms

if __name__ == '__main__':
	main()

结论

Java实现质数计算效率更高,循环处理方式更灵活,Python可读性高,各有各的特点。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。