第五周 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 }

 

转载于:https://www.cnblogs.com/zlqw/p/8452658.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值