测试程序
#include <stdio.h>
#include <math.h>
int prime( int p );
int PrimeSum( int m, int n );
int main()
{
int m, n, p;
scanf("%d %d", &m, &n);
printf("Sum of ( ");
for( p=m; p<=n; p++ ) {
if( prime(p) != 0 )
printf("%d ", p);
}
printf(") = %d\n", PrimeSum(m, n));
return 0;
}
函数
int prime( int p )
{
int i;
if(p<2)
return 0;
for(i=2;i<p;i++)
{
if(p%i==0)
return 0;
else if (i==(p-1)&&p%(p-1)!=0)
return 1;
}
}
int PrimeSum( int m, int n )
{
int sum=0,i;
for(i=m;i<=n;i++)
{
if(prime(i)==1)
sum+=i;
}
return sum;
}
判断素数 上面用的是最原始的方法,可以更改为:
int prime( int p )
{
int i;
if(p<2)
return 0;
for(i=2;i<=sqrt(p);i++)
{
if(p%i==0)
return 0;
}
return 1;
}