1.donnot use this if x is very large or small
int is_prime(int x)
{
int i;
for(i = 2;i * i <= x;i++)
{
if(x%i == 0) return 0;
}
return 1;
}
2.better way
int is_prime(int x)
{
int i,m;
assert(x >= 0);
if(x == 1) return 0;
m = floor(sqrt(x) + 0.5);
for(i = 2;i <= m;i++)
{
if(x%i == 0) return 0;
}
return 1;
}
本文介绍两种不同的素数判断方法,并对比了它们的效率。第一种方法通过遍历所有小于等于根号x的整数来判断;第二种方法则进一步优化,只检查到不大于根号x的整数,减少了不必要的计算,提高了程序运行效率。
5136

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



