《简单计算问题》PPT课件.ppt
《《简单计算问题》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《简单计算问题》PPT课件.ppt(16页珍藏版)》请在三一办公上搜索。
1、第二章 简单计算题,基本思想:解决简单计算问题的基本过程 包括将一个用自然语言描述的实际问题抽象成一个计算问题,给出计算过程,继而编程实现计算过程,并将计算结果还原成对原来问题的解答。这里首要的是读懂问题,搞清输入和输出数据的含义及给出的格式,并且通过输入输出样例验证自己的理解是否正确。,鸡兔同笼问题,笼子里关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物?输入数据第一行是测试数据的组数n,后面跟着n行输入。每组数据占一行,每行包含一个正整数a(a32768)输出要求输出n行,每行对应一个输入,包含两个正整数,第一个是
2、最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。如果没有满足要求的答案,则输出两个0 解题思路 本问题可描述成任给一个整数N,如果N是奇数,输出0 0,否则如果N是4的倍 数,输出N/4 N/2,如果N不是4的倍数,输出N/4+1 N/2。这是一个一般的计算题,只要实现相应的判断和输出代码就可以了。输入整数在一个较小范围,只考虑整数运算。,鸡兔同笼问题,#include void main()int nCases,i,nFeet;scanf(%d,国际象棋的棋盘是黑白相间的8*8的方格,棋子在格子中间,走子规则如下:王:横、直、斜都可以走,但每步限走一格后:横、直、斜都可以走,每
3、步格数不受限制车:横、竖均可以走,不能斜走,格数不受限制象:只能斜走,格数不限,棋盘上的距离,输入数据 测试数据的组数t。每行测试数据包括棋盘上起始位置和目标位置。位置用字母-数字形式表示,字母从a到h,数字从1到8。输出要求 对输入的每组测试数据,输出王、后、车、象所需的最少步数。无法到达输出 Inf 解题思路 王、后、车、象彼此独立,分别考虑,假设起始位置与终止位置在水平方向上的距离是x,它们在竖直方向上的距离是y 王需要的步数是 min(x,y)+abs(x-y)后需要步数是1(x等于y 或x等于0 或y等于0)或者2(x不等于y)。车需要步数为1(x 或者y 等于0)或者2(x 和y
4、都不等于0)。象每走一步,横、纵坐标增加或减小的绝对值相等,坐标之差的奇偶性保持不变。因此当奇偶性不同,无法到达。如果相同,从起始点走到终止点需要 1(x与y的绝对值相等)或者2(x与y的绝对值不相等),棋盘上的距离,#include#include void main()int nCases,i;scanf(%d,棋盘上的距离,if(x=0,校门外的树,某校大门外长度为L的马路上有一排树,每两棵相邻的树之间间隔是1米。将马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起
5、始点和终点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。任务:计算将这些树移走后,马路上还有多少树?,思路1:开一个有L+1个元素的数组,每个元素对应一棵树,初始化为1,表示各个位置上都有树;然后每读入一个区间,就将该区间对应数组元素变成0,表示该区间的树都被砍了;最后算一下还有几个1,就是还剩几棵树了。这种做法比较慢但直观思路2:将区间按起点排序,然后把所有区间遍历一遍,就把所有的树都砍了。不用开设L+1个元素的数组了,但是要开设数组将所有区间的起点,终点保存下来留做习题,校门外的树,#include void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单计算问题 简单 计算 问题 PPT 课件

链接地址:https://www.31ppt.com/p-5565343.html