pta统计素数并求和 帮看一下哪里有问题
问题描述:
#include <stdio.h>
#include <math.h>
int main ()
{
int M,N,i,a,sum=0,count=0,k=0;
scanf("%d %d",&M,&N);
for(i=M;i<=N;i++)
{
for(a=1;a<=sqrt(i);a++)
{
if(i%a==0)
{
break;
}
}
if(a>sqrt(i))
{
sum+=i;
count++;
}
}
printf("%d %d",count,sum);
return 0;
}
答
修改如下,供参考:
#include <stdio.h>
#include <math.h>
int main ()
{
int M,N,i,a,sum=0,count=0,k=0;
scanf("%d %d",&M,&N);
for(i=M;i<=N;i++)
{
for(a=2,k=0;a*a<=i;a++)//for(a=1;a<=sqrt(i);a++)
{
if(i%a==0)
{
k = 1;
break;
}
}
if(k == 0 && i != 1) //if(a>sqrt(i))
{
sum+=i;
count++;
}
}
printf("%d %d",count,sum);
return 0;
}