一: 什么是素数(质数)?
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
二:素数(质数)的判断方法?
根据定义,例如我们要判断31是否是素数,我们就用31去挨个除以(2~30)里面的每一个数,如果都除不尽那么就代表31是素数, 代码示例如下
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
scanf("%d", &i);
for (j = 2; j < i; j++)
{
if (i % j != 0)
printf("是素数");
break;
}
return 0;
}
运行结果:
优化版判断代码
使用平方根(sqrt)快速判断,减少运算量,我们举个例子,例如我们要判断25是否为素数,我们只需要判断[2~sqrt(25)=5]中的每一个整数是否是25的因数,这样我们从判断[2—24]变成判断[2—5]大大减少运算量
代码示例如下:
#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
int j = 0;
scanf("%d", &i);
for (j = 2; j < sqrt(i); j++)
{
if (i % j != 0)
printf("是素数");
break;
}
return 0;
}