C语言 素数和
题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
15
代码
#include<stdio.h>
int main() {
int n, i, j, a; //a为第n个素数
int count = 1;
int m, k, sum = 0;
scanf("%d%d", &n, &m);
k = m - n;
if (n == 1)
a = 2;
else {
for (i = 3; count < n; i++)
for (j = 2; j <= i; j++) {
if (i%j == 0) {
if (i == j) {
count++;
a = i;
break;
}
else
break;
}
}
}
sum += a;
for (a += 1, i = 0; i < k; a++)
for (j = 2; j <= a; j++) {
if (a%j == 0) {
if (a == j) {
sum += a;
i++;
}
else
break;
}
}
printf("%d", sum);
return 0;
}