decv++的bug

img


自己打的感觉没什么问题 输出就是不对 有人知道咋回事嘛 很简单的素数问题

12行应该是for(k=2;k<i;k++),不是x-1啊
这个循环是判断i是否为素数,和x没啥关系啊

单独设一个判断函数,代码比较简洁:

#include<stdio.h>

int isprime(int n)
{
    if(n<4) return n>1;
    for(int i=2;i*i<=n;i++)
        if(n%i==0) return 0;
    return 1;
}

int main()
{
    int x,i,count=0;
    
    scanf("%d",&x);
    
    for (i=0;i<=x;i++){
        if (isprime(i)){
            count++;
        }
    }
    
    printf("%d",count);
    
    return 0;
}