代码
bool IsPrime(int a) {
for (int i = 2; i*i <= a; i++) {
if (a % i == 0) return false;
}
return true;
}
原理
即若a存在余数(能被整除)
则可分解为a=k*k,则一定能被1……k中某个数整除
即传统根号版本的变形,相对更简洁,更好记忆
适用范围:玩玩就好,10^5更好办法是直接上素数表
对比土办法
bool IsPrime(int a) {
for (int i = 2; i < a; i++) {
if (a % i == 0) return false;
}
return true;
}
自行观察,记忆,不多赘述

本文介绍了一种优化的素数判断算法,通过检查至根号a的整除性,实现比传统方法更高效地判断一个数是否为素数。代码简洁易懂,适用于小规模数据的快速验证。
2386

被折叠的 条评论
为什么被折叠?



