程序设计入门C语言 --- 素数和
题目内容:
我们认为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语言 --- 素数和相关推荐
- c语言编程题素数和,程序设计入门——C语言 第4周编程练习 1 素数和(5分)
题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0 输入格式: 两个整数,第一个表示n,第二个表示m. 输出格式: 一个整数,表示第n个素数到 ...
- 程序设计入门——C语言
写在前面: 浙大翁恺老师(注意是恺不是凯)的C语言课程可谓是经典,这种口碑的形成不是没有原因的.有些科班同学或许会认为这门课程过于浅显.殊不知,浅显易懂的课程对于0基础的跨考党是多么重要.以名师身份引 ...
- 【C语言 MOOC】程序设计入门_C语言(翁恺)
文章目录 程序设计入门-C语言(MOOC-翁恺) Week 1 程序设计与C语言 lesson 1 计算机和编程语言 辗转相除法 程序的执行 lesson 2 第一个程序 Week 2 计算 less ...
- 程序设计入门——C语言 习题汇总
<img width="108" height="40" alt="浙江大学" src="http://imgsize.ph ...
- 程序设计入门——C语言(翁恺老师)我的作业
程序设计入门--C语言(翁恺老师)我的作业 第一周 程序设计与C语言 1 输出"Hello World"(5分) 题目内容: 请输出一行,内容为 Hello World 请注意大小 ...
- 编写一个分奇偶的c语言程序,程序设计入门——C语言 第3周编程练习 1 奇偶个数(5分)...
1 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据.程序输出读到的数据中的奇数和偶数的个数. 输入格式: 一系列正整数,整数的范围是(0,100000).如果 ...
- [笔记][mooc]《程序设计入门—C语言》
程序设计入门-C语言 (幕课课程笔记) Mac环境搭建 terminal > "gcc" >确认,安装 > gcc || gcc --version 本课程程序的 ...
- 翁恺c语言程序设计入门期末,程序设计入门-C语言 翁恺.doc
第 PAGE \* MERGEFORMAT 39 页 共 NUMPAGES \* MERGEFORMAT 39 页 程序设计入门-C语言 浙大 翁恺循环类型编程源代码1.#include int ma ...
- 笔记:中国大学MOOC课程《程序设计入门——C语言》编程练习
笔记:中国大学MOOC课程<程序设计入门--C语言>编程练习 第7周 数组运算 1 多项式加法 第8周 指针与字符串 2 GPS数据处理 第7周 数组运算 1 多项式加法 题目内容: 一个 ...
最新文章
- php session_start() 非常慢,PHP session_start()很慢问题分析与解决办法
- Spring Boot的Tomcat 启动详解
- 为Liferay Server分配Perm,Heap Size
- LeetCode 836. 矩形重叠
- 开源 sql 代码提示工具_有关如何计划开源活动的提示
- 三维点云学习(5)5-实现Deeplearning-PointNet-2-classfication
- Service GIS
- TCP拥塞控制算法内核实现剖析(一)
- 应用软件,操作系统,CPU的关系
- 下载并还原AdventureWorksDW2012数据库
- ps替换png图标的背景色
- 湖南科技大学web课程设计之网页聊天室的实现
- SQLServer 数据库无法重命名
- 2016-8-17晨型养成第二天
- 数字游戏 -- 寻找缺失的数字
- 计算机辅助设计技术领域的应用,关于计算机辅助设计技术在规划设计中的应用...
- c语言中switch结构,switch结构c语言
- 微信更新,干掉手机输入法!
- 北漂IT男返乡创业,草根逆袭回忆录(下)
- Linux命令 ls