判断质数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/John_Wang7/article/details/62240762

判断质数
一个整数,若值为0或1,则不是质数,如果大于1且不能被小于它的任一整数整除,就是质数,否则不是质数。其实可以缩小检验的范围,因为一个整数,如果不能被2和这个整数的平方根之见的任何一个整数整除,就不能被小于这个数的任意一个整数整除。

#include<stdio.h>
#include<math.h>     //包含平方根函数sqrt的原型 
int isprime(int m);
int main()
{
	int m;
	scanf("%d",&m);
	if(isprime(m))		//如果是质数 
		printf("%d 是质数\n",m); 
	else printf("%d 不是质数\n",m);//如果不是质数 
	return 0;
}
int isprime(int m)
{
	int i,k;
	if(m==0||m==1)
		return 0;	//0或1不是质数 
	else 
	{
		k=(int)sqrt(m);
		for(i=2;i<=k;++i)
		if(m%i==0)
			return 0;
	 } 
	return 1;
}

展开阅读全文

没有更多推荐了,返回首页