#include
#include
int an(int m){
int i;
if(m<=1) return 0;
else if(m==2) return 1;
else for(i=2;i<=m;i++){
if(m%i==0) return 0;}
return 1;
}
int main(){
int M,N,c,m,sum=0;
c=0;
scanf("%d %d",&M,&N);
for(m=M;m<=N;m++){
if(an(m)==1){
c++;
sum=sum+m;}
}
printf("%d %d",c,sum);
return 0;
}
else for(i=2;i<=m;i++){
改为
else for(i=2;i<m;i++){ //不可以等于m
函数an中的循环应该是i<m,等于的话对自身求余永远是0根本得不到return 1
你这素数程序有问题呗,比如5,你这an(5) 返回的是0啊