【质数算法】——判断质数、求小于N的质数、求前N个质数

本文探讨了如何判断质数、求小于N的质数以及求前N个质数的算法。通过Java代码展示了判断质数的方法,使用空间换时间的策略找出小于n的所有质数,并介绍了针对大数情况下计算前n个质数的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

质数(prime number)又称素数,一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。

场景一:输入一个整数n,判断n是否为质数。

思路:判断是否大于或等于2,如果是则对遍历2到根号n区间的所有奇数取余是否为0,如果全都不是则为质数。事实上取余的区间可以更小,缩小为2到根号n区间的所有质数,但这以为着会牺牲空间记录下来,有得有失。目前最优的通用算法

代码实现(java)

<span style="white-space:pre">	</span>/**
<span style="white-space:pre">	</span> * 判断是否是质数
<span style="white-space:pre">	</span> * 思路(依次优化)
<span style="white-space:pre">	</span> * 1. 从2到n-1遍历判断
<span style="white-space:pre">	</span> * 2. 从2到n/2遍历判断
<span style="white-space:pre">	</span> * 3. 从2到√n遍历判断
<span style="white-space:pre">	</span> * 4. 从2到√n中所有奇数进行遍历
<span style="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值