素数和(C语言实现)
题目内容:
我们认为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
代码原创,仅供学习使用
题目来源:中国大学MOCC
#include <stdio.h>
int main()
{
int x=2;
int x1=2;
int sum1=0;
int cnt = 0;
int sum =0;
int a;
int b;
int cnt1=0;
scanf("%d %d",&a,&b);
if(a>=201||a<=0)
return 0;
if(b>=201||b<=0)
return 0;
while(cnt<a-1)
{
int i;
int isPrime = 1;
for (i = 2; i < x; i++)
{
if (x%i == 0)
{
isPrime = 0;
break;
}
}
if (isPrime == 1)
{
cnt++; sum+=x;
}
x++;
}
while(cnt1<b)
{
int i;
int isPrime1 = 1;
for (i = 2; i < x1; i++)
{
if (x1%i == 0)
{
isPrime1 = 0;
break;
}
}
if (isPrime1 == 1)
{
cnt1++; sum1+=x1;
}
x1++;
}
printf("%d",sum1-sum);
return 0;
}