求范围内素数的个数和素数的和

怎么算结果都是count=100 sum=20000

img

判断素数的方法不对哦,给你写一下,你看一下。代码如下:

#include <stdio.h>

int main()
{
    int m,n,i,j,a;
    int count = 0,sum = 0;
    scanf("%d %d",&m,&n);
    a = m;
    for (i=1;i<=n-m+1;i++)
    {
        //判断从2到a,有没有能被a整除的数
        for (j=2;j<a;j++)
        {
            if(a%j==0) break; //如果能被a整除,说明a不是素数,结束循环
        }
        if(j==a) //是素数
        {
            count++; //数量+1
            sum += a; //求和
        }
        a++; //a++不应该受是否是素数的影响
    }
    printf("count=%d,sum=%d",count,sum);
    return 0;
}

你这是什么意思?循环应该从m到n,还有求素数又不是求偶数,得两重循环啊