质数(素数)
质数(prime number)又称素数,自然数中有无限个素数。它是大于1的自然数,除了1和它本身外,不能被其他自然数整除。换句话说就是该数除了1和它本身以外不再有其他的因数。
判断素数
要想判断一个数n是不是素数,就要判断这个数是不是大于1,并且除1和它本身外,不能被其他自然数整除。
//判断n是不是素数素数
int main()
{
int n=107;
int i=0;
int flag=0;
for(i=2;i<n;i++)
{
flag=0;
if(n%i!=0)
{
flag=1;
}
else
{
break;
}
}
if(flag==1)
{
printf("%d 是素数",n);
}
else
{
printf("%d 不是素数",n);
}
}
自定义范围素数
了解到如何判断素数,那么我们再结合scanf函数,就可以知道一定范围之内一共有多少素数,分别是多少
int main()
{
int a = 0;
int n = 0;
int m = 0;
int i = 0;
int flag = 0;
for (scanf("%d%d", &n, &m); n < m; n++)
{
for (i = 2; i < n; i++)
{
flag = 0;
if (n % i != 0)
{
flag = 1;
}
else
{
break;
}
}
if (flag == 1)
{
printf("%d ", n);
a++;
}
}
printf("\n共有%d 个素数",a);
return 0;
}
素数函数
了解以上,我们可以将语句简化,形成一个函数,之后我们就可以更方便的判断
void is_prime(int n)
{
int flag = 0;
int i = 0;
for (i = 2; i < n; i++)
{
flag = 0;
if (n % i != 0)
{
flag = 1;
}
else
{
break;
}
}
if (flag == 1)
{
printf("%d ", n);
return;
}
else
{
return;
}
}
int main()
{
int n = 0;
int m = 0;
printf("请输入判断范围:");
for (scanf("%d%d", &n, &m); n < m; n++)
{
is_prime(n);
}
return 0;
}
以上内容,如果有任何问题,请留言或私信我。期待与大家沟通交流。