第五周 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
 
 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5   int a, b;           //范围
 6   int i, n;
 7   int x=0;      //当前素数是第几个素数
 8   int sum = 0;  //素数之和
 9   int isPrime;  //记录此数是否是素数
10   scanf("%d %d", &a, &b);   //读取范围
11 
12   for(n=2; x<b; n++) {    //从2开始判断,计数,直到出现第b个素数
13     isPrime = 1;          //先将此数置为素数
14     for(i=2; i<n; i++) {
15       if(n % i == 0) {    //若可以被某数整除,则将此数置为非素数
16         isPrime = 0;
17         break;
18       }  
19     }
20     if(isPrime == 1) {    //若是素数,计数+1
21       x++;
22       if(x >= a){
23         sum = sum + n;
24       }
25     }    
26   }
27   printf("%d\n", sum);
28 
29   return 0;
30 }

 

posted @ 2018-02-18 12:08  左揽雀尾007  阅读(445)  评论(0编辑  收藏  举报