题目描述
本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。
输入两个正整数m和n(1≤m≤n≤500),求m和n之间的素数和。
素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
要求定义并调用函数prime(p)判断p是否为素数,当p为素数时返回1,否则返回0。定义并调用函数prime_sum(m,n),该函数返回区间[m,n]内所有素数的和。
#include <stdio.h>
#include <math.h>
int prime (int p)
{
int j=0;
for(j=2;j<p;j++)
{
if(p%j==0)
{
break;
}
}
if(p==j)
{
return 1;
}
else
{
return 0;
}
}
int prime_sum(int min, int max)
{
int i = 0;
int sum =0;
for(i=min;i<=max;i++)
{
if(prime(i)!=0)
sum =sum +i;
}
return sum;
}
int main()
{
int min ,max;
int k;
scanf("%d %d",&min,&max);
printf("Sum of ( ");
for(k=min;k<=max;k++)
{
if (prime(k)!=0)
{
printf("%d " ,k);
}
}
printf(") = %d",prime_sum(min, max));
return 0;
}