我爱小甲鱼c 发表于 2020-1-29 16:34:52

怎样求解一个数是不是素数?

判断素数的循环条件是什么?小甲鱼老师for循环语句里的循环条件我没看懂
int main()
{
    inti,num;
    _Bool flag;
    printf("请输入一个整数:\n");
    scanf("%d",&num);
    for(i=2;i<num/2;i++)
    {
      if(num%i==0)
      {
            flag =0;
            break;
      }
    }
    return 0;
}//没有敲完抱歉

zltzlt 发表于 2020-1-29 16:40:03

先执行 i = 2,再执行循环体。每次执行循环体后执行 i++。如果 i 大于等于 num / 2 的商,则退出循环。

我爱小甲鱼c 发表于 2020-1-29 16:59:12

zltzlt 发表于 2020-1-29 16:40
先执行 i = 2,再执行循环体。每次执行循环体后执行 i++。如果 i 大于等于 num / 2 的商,则退出循环。

为什么这个循环体是I<=num/2呢

zltzlt 发表于 2020-1-29 17:00:41

我爱小甲鱼c 发表于 2020-1-29 16:59
为什么这个循环体是I

因为再判断 num / 2 以后的数就没有意义了。

例如 8 不是素数,而 5 超过 8 除以 2 的商(即 4),8 不能除尽 5。
页: [1]
查看完整版本: 怎样求解一个数是不是素数?