用c语言解决问题,对于一个对于2的正整数,判断它是不是一个素数
数论里有一个定理 是说 n是一个正整数,如果对所有满足p<=sqrt(n)的素数p,都有p不整除n,那么n一定是素数。
有了这个定理,在计算机中判断一个数是否是素数就简单多李念世了,只需要判断所有小于sqrt(n)的正整数是否整除这个数就行了高皮 ,其实就是把以上定理中的素数p改为所有小于sqrt(n)的正整数。
而且 这个算法是最好的判断素数的方法,它的时间复杂度和空间复哪肢杂度都最小
#include <stdio.h>
void main()
{
int n,i,k=0;
scanf("%d",&n);
for(i=2;i<=n/2;i++)
{
if(n%i==0)
{
k=1;
break;
}
}
if(k==0)
printf("谨戚%d 是素数\n",n);
else
printf("%d 不是素祥指陵数\逗信n",n);
}