不知道为什么修改后运行不了


#include
#include
int prime(int n)
{
    int i;
    int flag=1;
    if(i==1||i==0)
    {flag=0;}
    for(i=2;i<=sqrt(n);i++)
    if(n%i==0)
{
    flag=0;
    break;
}
    
    return flag;
}
 
 int sup_prime(int n)
 {int flag;
     while(n>0)
     {
     if(prime(n)==0)
    { flag=0;
    break;
    }
     else n=n/10;
     }
    return flag;
 }
 
int main()
{
    int i,count=0;
    for (i=100;i<=10000;i++)
    if(prime(i)==1)
    {
        printf("%d   ",i);
        count++;
        if(count%10==0)
        printf("\n");
        
        }
    
    return 0;
}

上面的运行成功了,下面的只是把i<=sqrt(n)改成了i <=n,然后就运行不了了

img

img

img

i <=n 肯定不行,只能i<n。如果i等于n的话,n%i==0就成立了啊