C语言中判断一个数是否是质数,还有查找不小于已知数的质数
要判断一个数是否为质数,只要判断比它开根号小的数,能否把它整除。
int IsPrime(int x) // 检查是否是质数
{
int a = sqrt(x); // include<math.h>
for(int i=2; i<=a; i++)
{
if( x%i == 0)
break;
if(i>=a)
return 1; //返回1则为质数
}
return 0;
}
int NextPrime(int n) //找下一个质数
{
for(int i=n; ; i++)
{
int tag;
tag = IsPrime(i);
if(tag == 1)
{
return i;
}
}
}