您的位置:首页 > 其它

素数和

2016-09-09 19:57 106 查看
题目内容:

我们认为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>
#include<math.h>
int main()
{
int n, m;
int i, sum,flag,j;
int a[200], count = 0;
for (i = 2;; i++) /* 将素数存放到数组a中 */{
flag = 1;
for (j = 2; j <= sqrt(i); j++)
if (i%j == 0) /* 若n能被2到根号n之间的任意一个数整除,则不是素数 */
{
flag = 0; break;
}
if (flag == 1)
{
a[count] = i;
count++;
if (count == 200) break; /* 统计到有200个素数则结束 */
}
}
scanf("%d %d", &n, &m);
sum = 0;
/* 将第n个至第m个素数求和 */
for (i = n; i <= m; i++)
sum = sum + a[i - 1]; /* a[i-1] 是第i个素数*/
printf("%d\n", sum);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: