本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。
#include <stdio.h>
#include <math.h>
#pragma warning(disable:4996)
int prime(int p);
int PrimeSum(int m, int n);
int main()
{
int m, n, p;
scanf_s("%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) //负数没有素数,0,1,2直接判断而不用循环
{
if (p <= 1)
{
return 0;
}
else if (p == 2)
{
return 1;
}
else {
for (int i = 2; i < p; i++) //素数除以除以它本身的数和1,所以从2开始
{
if (p % i == 0)
{
return 0;
}
}
return 1;
}
}
int PrimeSum(int m, int n)
{
int sum = 0;
for (int i = m; i <= n; i++)
{
if (prime(i) ==1)
{
sum = sum + i;
}
}
return sum;
}