判断一个数是否为素数(质数)
素数:只能被1和它本身所除的数。
用 n 除以 i( i 依次增加,由2,3,4…至 (n-1) ),若存在任意一个 i 可以使 n%i=0,说明 n 有除1和本身外的其他因子,则不是素数。相反,若循环结束没有一次取模为0,则是素数。
优化:给n开平方,加头文件math.h。
实现代码:
#include<stdio.h>
#include<math.h>
int sushu(int n) //判断素数
{
int i;
for(i=2;i<sqrt(n);i++)
{
if(n%i==0)
return 0; //不是素数
}
return 1; //是素数
}
int main()
{
int number;
scanf("%d",&number);
sushu(number);
printf("%d\n",sushu(number));
}
运行结果:
是素数,输出1
不是素数,输出0