题目内容:

我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入格式:

两个整数,第一个表示n,第二个表示m。

输出格式:

一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入样例:

2 4

输出样例:

15

时间限制:500ms内存限制:32000kb


思路分析:看完本题你可能觉得很熟悉,与以前做过的判断素数和素数求和问题相似。但是要注意这里的n与m表示的是素数的个数编号范围,而不是数字范围,所以大循环条件应该是素数的个数。这里我们可以设置一个变量count用于记录素数个数,每找到一个素数,count++,直到count=m,表示循环结束。然后在大循环内部,从2开始依次判断每一个数是否为素数,注意若为素数还要进一步判断是否满足题目条件---“第n个素数到第m个素数之间”。

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>int main()
{int n = 0;int m = 0;scanf("%d %d", &n, &m);int count = 0;//记录素数个数int num = 2;int sum = 0;//记录素数总和//int isprime = 1;while (count < m){int isprime = 1;//素数的标志for (int i = 2; i < num; i++){if (num%i == 0){isprime = 0;break;}}if (isprime ==1){count++;printf("num=%d\n", num);if (count >= n){sum += num;}}num++;}printf("%d", sum);return 0;
}

这里素数的判断采用的是设置标志位,在之前写过的代码中我们知道还有一种方式:根据循环变量的值与num是否相等来判断,但是这种方式不太好。

总结:

本题考查的知识点如下--->

1.素数的判断

2.一定个数范围内素数的求和(类比于“输出前50个素数”这类题型):思路都是设置一个count计数器

代码易错点--->

1.while 循环的范围是count<m,不能为count<=m,因为=m的话循环会多走一次,把第m+1个素数也算进sum中去

2.素数标志位的设置一定要在每次遍历所有数字(for循环)之前,while循环内部。如果在while循环外部,则标志位更改一次后再无法更改,我们期望的是每检测一个数字之前都将它重新置为1,即默认为素数。


for循环写法:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{int n,m,num;int sum = 0;int count = 0;scanf("%d %d", &n,&m);for (num = 2; count < m; num++){int isprime = 1;for (int i = 2; i < num; i++){if (num%i == 0){isprime = 0;break;}}if (isprime == 1){count++;if (count >= n){sum = sum + num;}}}printf("%d", sum);system("pause");return 0;}

程序设计入门C语言 --- 素数和相关推荐

  1. c语言编程题素数和,程序设计入门——C语言 第4周编程练习 1 素数和(5分)

    题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0 输入格式: 两个整数,第一个表示n,第二个表示m. 输出格式: 一个整数,表示第n个素数到 ...

  2. 程序设计入门——C语言

    写在前面: 浙大翁恺老师(注意是恺不是凯)的C语言课程可谓是经典,这种口碑的形成不是没有原因的.有些科班同学或许会认为这门课程过于浅显.殊不知,浅显易懂的课程对于0基础的跨考党是多么重要.以名师身份引 ...

  3. 【C语言 MOOC】程序设计入门_C语言(翁恺)

    文章目录 程序设计入门-C语言(MOOC-翁恺) Week 1 程序设计与C语言 lesson 1 计算机和编程语言 辗转相除法 程序的执行 lesson 2 第一个程序 Week 2 计算 less ...

  4. 程序设计入门——C语言 习题汇总

    <img width="108" height="40" alt="浙江大学" src="http://imgsize.ph ...

  5. 程序设计入门——C语言(翁恺老师)我的作业

    程序设计入门--C语言(翁恺老师)我的作业 第一周 程序设计与C语言 1 输出"Hello World"(5分) 题目内容: 请输出一行,内容为 Hello World 请注意大小 ...

  6. 编写一个分奇偶的c语言程序,程序设计入门——C语言 第3周编程练习 1 奇偶个数(5分)...

    1 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据.程序输出读到的数据中的奇数和偶数的个数. 输入格式: 一系列正整数,整数的范围是(0,100000).如果 ...

  7. [笔记][mooc]《程序设计入门—C语言》

    程序设计入门-C语言 (幕课课程笔记) Mac环境搭建 terminal > "gcc" >确认,安装 > gcc || gcc --version 本课程程序的 ...

  8. 翁恺c语言程序设计入门期末,程序设计入门-C语言 翁恺.doc

    第 PAGE \* MERGEFORMAT 39 页 共 NUMPAGES \* MERGEFORMAT 39 页 程序设计入门-C语言 浙大 翁恺循环类型编程源代码1.#include int ma ...

  9. 笔记:中国大学MOOC课程《程序设计入门——C语言》编程练习

    笔记:中国大学MOOC课程<程序设计入门--C语言>编程练习 第7周 数组运算 1 多项式加法 第8周 指针与字符串 2 GPS数据处理 第7周 数组运算 1 多项式加法 题目内容: 一个 ...

最新文章

  1. php session_start() 非常慢,PHP session_start()很慢问题分析与解决办法
  2. Spring Boot的Tomcat 启动详解
  3. 为Liferay Server分配Perm,Heap Size
  4. LeetCode 836. 矩形重叠
  5. 开源 sql 代码提示工具_有关如何计划开源活动的提示
  6. 三维点云学习(5)5-实现Deeplearning-PointNet-2-classfication
  7. Service GIS
  8. TCP拥塞控制算法内核实现剖析(一)
  9. 应用软件,操作系统,CPU的关系
  10. 下载并还原AdventureWorksDW2012数据库
  11. ps替换png图标的背景色
  12. 湖南科技大学web课程设计之网页聊天室的实现
  13. SQLServer 数据库无法重命名
  14. 2016-8-17晨型养成第二天
  15. 数字游戏 -- 寻找缺失的数字
  16. 计算机辅助设计技术领域的应用,关于计算机辅助设计技术在规划设计中的应用...
  17. c语言中switch结构,switch结构c语言
  18. 微信更新,干掉手机输入法!
  19. 北漂IT男返乡创业,草根逆袭回忆录(下)
  20. Linux命令 ls

热门文章

  1. 计算机应用技术与物联网专业介绍,《物联网应用技术》专业简介
  2. 从一块内存开始,带你了解企业级虚拟化(二)
  3. .Net MAUI 安卓状态栏透明、半透明、全屏
  4. 建立一个学生数据库/表
  5. Cosmos IBC
  6. Win10中SAS软件安装失败的一些解决方法
  7. 打开计算机用户策略,打开组策略,详细教您电脑组策略怎么打开
  8. 20221125使用PR2023自动识别obs-studio录屏生成的MKV视频的字幕
  9. 二分算法实例应用(二)
  10. 对称加密与非对称加密的区别