C语⾔——判断⼀个数是否素数的函数
之前就有想整理了,现在马上。
素数的定义:因数只有1与它本⾝。
1. 从素数的定义下⼿
int prime(int x)
{
c++判断素数int i;
if(x==1)
{
return1;
}
for(i=2;i<x;i++)//这⾥是“<”⽽⾮“<=”.证明了从1到它本⾝-1都没有其他因数了
{
if(x%i==0)
return1;
}
return0;
}
2. 从素数的定义的延申下⼿——“根据乘法的特性,可知若从2开始遍历到被判断数的平⽅根都没有到能被整除的数,则这个数⼀定为素数。”
int prime(int x)
{
int i,k;
k=sqrt(x);//未知数开平⽅.注意头⽂件要有 #include <math.h>
if(x==1)
{
return1;
}
for(i=2;i<=k;i++)
{
if(x%i==0)
return1;
}
return0;
}
3. 从素数的定义的延申下⼿——“素数的⼀个特点,就是它总是等于 6x-1 或者 6x+1,其中 x 是⼤于等于1的⾃然数。”当然,2和3除外。
只是⼤概将这种⽅法的思路说出来,感觉没有第2种来得快,具体实现的代码就没有附上了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论