1.素数和(5分)
题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
15
时间限制:500ms内存限制:32000kb
来源:中国大学mooc——C语言程序设计入门
#include <stdio.h>
const int number = 10;
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int flag = 0; //记录第几个素数
int i,j; //循环变量
int sum = 0; //记录总和
for ( i = 2; i<=1000; i++)
{
int isPrime = 1;
for ( j = 2; j<i-1; j++ ) //判断素数
{
if (i % j == 0)
{
isPrime = 0; //非素数
break;
}
}
if (isPrime) //素数
flag++;
else
continue; //非素数的话就直接到下一个i
if (flag >= a)
{
sum += i;
if (flag == b)
{
break;
}
}
}
printf("%d",sum);
}