版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三节 尝试法 本节任务 尝试法是计算机解决许多问题最常用的一种方法,从第一章开始,我们在各程序的设计分析中,都反复强调该方法的重要性。学会用尝试法解决复杂的问题,是学习程序设计的基本功。 学习要点 掌握尝试法的一般步骤和注意事项是学习的关键。 【引例】5_3_1 有一本书,被人撕掉了其中一张。已知现在剩余页码之和为140,问这本书原来共多少页?被人撕掉了哪一张?想一想:一张纸上有两个页码,并且是连续的,不妨设为a、a+1吧。 随便找本书翻翻,我们发现“每张纸上页码均是奇数开头”的,即a必为奇数。不用说了,每本书的起始页均为第1页,但结束页必为偶数页! “已知现在剩余页码之和为140”,从这句
2、话,我们能捕捉到什么?这本书原来最多不超过20页。因为从等差数列求和公式可知1+2+3+20值已210,即使撕掉的是最后一张(第19、20页),剩余页码之和也超过了140,因210-19-20171。不妨用n表示原书的页码数。 现在把实际问题转化为数学问题:对前n个连续的自然数,去掉哪两个相邻数(a,a+1)后剩余数的累加和等于140? 让计算机去猜吧!逐个求出前n个(1n20,偶数)自然数之和s,看看哪一个s满足条件:s-a-(a+1)=140,其中,1an-1且为奇数。 定义按某种顺序对若干种情况分别模拟,逐一测试,从中找出满足条件的所有情况。这就是尝试法,又称为穷举搜索法、枚举法。可见,
3、这种算法的核心是全面排查。此算法虽简单易行,但只能用于解决有限种情况的场合。程序设计时,一般用循环结构实现之。 /* 5_3L1.C */ #include conio.h main() int n=1,s=0,a; clrscr(); do s=s+n; for(a=1;a=n-1;a=a+2) if(s-a-(a+1)=140) printf(%d,%d,%d,%d,n,s,a,a+1); n=n+1; while(n=20); 计算机输出:原书共18页,被人撕掉的一张是第15、16页。 小结 尝试法实现的关键 认真分析解的集合的范围,这个范围越精确,求解的速度将越快。一般地将解集的端点作
4、为循环的初值和终值;罗列符合解的全部条件,作为解的判断条件,将循环产生的解一一筛选,符合条件输出,不符合条件时继续循环;当循环结束,全部解将被找出来。作业与练习下列各题,均要求列变量表,作大致流程图,关键语句注释。4破案显神威。某地发生一起特大盗窃案,与本案有关的犯罪嫌疑人有A、B、C、D、E、F六人。根据口供,有六条线索:A、B中至少有一人作案;A、D两人不可能是同案犯;A、E、F中有两人参与作案;B、C或同时作案,或与本案无关;C、D中有且只有一人作案;若D没有作案,则E也不可能作案。问:谁是真凶?5一张100元钞票换成面值分别为5元、1元、0.5元的三种钞票共100张,每种钞票至少1张,
5、则每种面值的钞票各多少张?试列出所有可能的兑换方案。6乘车兜风算年龄。故事是这样的:“你在忙什么,比尔?”教授随意问比尔。“准备带三个女孩乘车游览!”比尔得意答道。“原来如此!敢问三位佳丽芳龄几许?”教授笑问。比尔思考片刻说:“她们年龄相乘得到2450,她们年龄相加是您年龄的1/2。”,教授略略沉思,对比尔说:“我已知道她们的年龄。”聪明的读者,您能算出三位佳丽的芳龄吗?7天方夜谭中有这样一个故事:一群鸽子飞过一棵高高的树,一部分落在树上,其余的落在树下。一只落在树上的鸽子观察了一会儿,对树下的鸽子说:“倘若你们飞上来一只,你们的数目就是鸽群的三分之一;倘若我们中飞下去一只,我们和你们的数目恰好相等。”聪明的读者,鸽群共有多少只鸽子?8已知四位小朋友甲、乙、丙、丁的体重都是整数公斤,且依次一个比一个重。又知四人中任意两人的体重和是35、39、44、45、50、54。编程序求四个小朋友的体重。9某暗箱内有大小、重量均相同的8个球(三种颜色:红,兰,黄),模拟从中取出50次,每次取3个,有哪些抽取法?(各次颜色)10最大利润问题。有A、B、C三个城市,它们对应三种蔬菜每公斤价格(元)如下: 城市 白菜 萝卜 土豆 A 1.20
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 33557-2017地面数字电视测试用码流规范》(2026年)深度解析
- 深度解析(2026)《GBT 33385-2016阻燃化学品 水镁石》
- 任务3.3 产品管理
- 医疗数据安全治理:区块链技术的风险防控机制
- 医疗数据安全标准体系构建方法论
- 医疗数据安全攻防的区块链安全框架
- 胸腹部外伤课件
- 医疗数据安全应急响应的流程优化策略
- 胸外伤处理课件
- 【9英RJ月考】亳州市涡阳县校联考2025-2026学年九年级上学期12月英语试题
- 2026年部编版新教材语文二年级上册期末无纸笔检测题(评价方案)
- 大学计算机教程-计算与人工智能导论(第4版)课件 第8章 计算机视觉
- 余姚市公务员 面试面试题及答案
- 内蒙古自治区乌兰察布市集宁区2025-2026学年九年级上学期12月期末考试(中考诊断)化学试卷(含答案)
- 2025年广东省第一次普通高中学业水平合格性考试(春季高考)英语试题(含答案详解)
- 2026年合同全生命周期管理培训课件与风险防控手册
- 智能工厂项目培训
- 《组织传播学》教材
- 湖南中考生物真题三年(2023-2025)分类汇编:专题10 生物的遗传和变异(解析版)
- 理赔管理经验分享
- 中国马克思主义与当代2024版教材课后思考题答案
评论
0/150
提交评论