【问题标题】:I don't understand the for loop with this prime number checker我不明白这个素数检查器的 for 循环
【发布时间】:2021-09-12 01:29:32
【问题描述】:

我不明白这是如何检查素数的:

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?这些分配/比较来自哪里?

【问题讨论】:

标签: c for-loop primes


【解决方案1】:

代码基本上是检查输入数字的所有因素,包括1和数字本身。根据定义,素数是除自身和 1 之外没有其他因子的任何数字,因此如果“p”因子项等于 2,则表示该数字是素数,因为增量发生在 1 且仅数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    相关资源
    最近更新 更多