1 素数和(10分)
题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200
,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
注意:是第n个素数到第m个素数,不是n和m之间的素数!
输入格式:
两个正整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
15
时间限制:500ms内存限制:32000kb
#include <stdio.h>
int main(void)
{
int x = 1;//自动增加的数
int pn = 1;//素数的个数
int ps = 0;//素数的和
int n, m;
scanf("%d %d", &n, &m);
do
{
for (int i = 2; i < x ; ++i)
{
if(x % i == 0 )
{
break;
}
if (i == x-1 )
{
pn += 1;
if (pn >= n)
{
ps += x;
}
}
}
x += 1;
}while(pn < m);
if (n == 1) {
ps += 2;
}
printf("%d\n",ps);
return 0;
}