我不明白这个质数检查器的 for 循环
I don't understand the for loop with this prime number checker
我不明白这是如何检查质数的:
int n,f;
printf("");
scanf("%d",&n);
int p=0;
for (f=1;f<=n;f++)
{
if (n%f==0)
{
p=p+1;
}
}
if (p==2)
{
printf("prime");
}
else
{
printf("not prime");
}
什么是 p=0、p=p+1 和 p==2?这些assignments/comparisons从哪里来的?
代码基本上检查了输入数字的所有因素,包括 1 和数字本身。根据定义,素数是除自身和 1 之外没有其他因数的任何数字,因此如果 'p' 因数项等于 2,则表示该数是素数,因为增量发生在 1 且仅发生在该数上。
我不明白这是如何检查质数的:
int n,f;
printf("");
scanf("%d",&n);
int p=0;
for (f=1;f<=n;f++)
{
if (n%f==0)
{
p=p+1;
}
}
if (p==2)
{
printf("prime");
}
else
{
printf("not prime");
}
什么是 p=0、p=p+1 和 p==2?这些assignments/comparisons从哪里来的?
代码基本上检查了输入数字的所有因素,包括 1 和数字本身。根据定义,素数是除自身和 1 之外没有其他因数的任何数字,因此如果 'p' 因数项等于 2,则表示该数是素数,因为增量发生在 1 且仅发生在该数上。