其它lesson计算机算法初步课件.pptx--(课件中不含音视频)
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《其它lesson计算机算法初步课件.pptx--(课件中不含音视频)》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 其它 lesson 计算机 算法 初步 课件
- 资源描述:
-
1、2022-11-7电气与信息工程学院计算机系张吴波制作学习目标学习目标:3 1掌握几个常用的解题算法:枚举、迭代掌握几个常用的解题算法:枚举、迭代2022-11-7电气与信息工程学院计算机系张吴波制作3穷举法穷举法2 概述概述l穷举法,又称为枚举法,是人们日常生活中常用穷举法,又称为枚举法,是人们日常生活中常用的一种求解问题的方法。的一种求解问题的方法。l根据问题中的部分条件(已知的条件)将所有可根据问题中的部分条件(已知的条件)将所有可能解的情况列举出来,然后通过一一验证是否符能解的情况列举出来,然后通过一一验证是否符合整个问题的求解要求,而得到问题的解。合整个问题的求解要求,而得到问题的解
2、。2022-11-7电气与信息工程学院计算机系张吴波制作3穷举法穷举法21、旅行途中发现自己忘记了开锁的密码,怎么办?2、从某个班中找出所有班干部,需要逐一对每个同学进行查看,判断是否是班干部。2022-11-7电气与信息工程学院计算机系张吴波制作3穷举法穷举法2 穷举法的核心在于明确问题的所有可能性,并针对每种可能情况逐个进行判断,最终找出正确问题的答案。穷举解题步骤:穷举解题步骤:1、问题解的可能搜索的范围:问题解的可能搜索的范围:用循环或循环嵌套结构实现用循环或循环嵌套结构实现 2、写出符合问题解的条件。写出符合问题解的条件。2022-11-7电气与信息工程学院计算机系张吴波制作3穷举法
3、穷举法2所谓素数是指仅能被所谓素数是指仅能被1和自身整除,且和自身整除,且大于等于大于等于2的数值。如的数值。如7,11,17,23等等例1:判断给定整数是否是素数。2022-11-7电气与信息工程学院计算机系张吴波制作3穷举法穷举法2 问题分析问题分析l为了检查一个整数是不是素数,可以采用穷举法。为了检查一个整数是不是素数,可以采用穷举法。假设给定的整数用假设给定的整数用x表示,则判断过程就是确认表示,则判断过程就是确认x不能整除以不能整除以2x-1之间的任何整数。这就需要一之间的任何整数。这就需要一一列举出一列举出2x-1之间的每个整数进行排查。之间的每个整数进行排查。2022-11-7电
4、气与信息工程学院计算机系张吴波制作 算法描述 NY开始开始输入输入x2 tt xt 加加1x%t=0结束结束输出输出“不是素数不是素数”输出输出“是素数是素数”YNt=xYN2022-11-7电气与信息工程学院计算机系张吴波制作#include int main()int x,t;printf(“Enter an integer:”);scanf(“%d”,&x);for(t=2;tx;t+)/*列举小于列举小于x大于大于1的所有整数的所有整数*/if(x%t=0)break;if(t=x)/*是否通过循环条件出口是否通过循环条件出口*/printf(“%d is primen”,x);els
5、e printf(“%d isnt primen”,x);return 0;注意判断是否是素数的条件与注意判断是否是素数的条件与判断位置判断位置lesson8_01.c2022-11-7电气与信息工程学院计算机系张吴波制作3穷举法穷举法2 例例2:百钱买百鸡:百钱买百鸡l“百钱买百鸡百钱买百鸡”是我国古代数学家张丘建提出的一个著名的数学问题。是我国古代数学家张丘建提出的一个著名的数学问题。假设某人有钱百枚,希望买一百只鸡;不同的鸡价格不同,公鸡假设某人有钱百枚,希望买一百只鸡;不同的鸡价格不同,公鸡5枚钱枚钱一只,母鸡一只,母鸡3枚钱一只,而小鸡枚钱一只,而小鸡3只只1枚钱。试问:如果用百枚钱
6、买百只枚钱。试问:如果用百枚钱买百只鸡,可以包含几只公鸡、几只母鸡和几只小鸡。鸡,可以包含几只公鸡、几只母鸡和几只小鸡。2022-11-7电气与信息工程学院计算机系张吴波制作3穷举法穷举法2 问题分析问题分析l从题目要求可知:公鸡、母鸡和小鸡的数量是有限的,都不会超过从题目要求可知:公鸡、母鸡和小鸡的数量是有限的,都不会超过100100。通过对不同数量的公鸡、母鸡和小鸡进行组合,可以计算出购。通过对不同数量的公鸡、母鸡和小鸡进行组合,可以计算出购买这些鸡所用的花费,但这个题目要求找出那些花费正好买这些鸡所用的花费,但这个题目要求找出那些花费正好100100枚且鸡枚且鸡的总数也为的总数也为100
7、100只的情况。只的情况。l因此,可以采用穷举法,将不同的公鸡、母鸡和小鸡的数量枚举一因此,可以采用穷举法,将不同的公鸡、母鸡和小鸡的数量枚举一遍,找出那些符合题目要求的解。遍,找出那些符合题目要求的解。2022-11-7电气与信息工程学院计算机系张吴波制作 算法描述 N Y 开开始始 条条件件判判断断 x 加加 1 结结束束 z=100 x=100/5 y=100/3 y 加加 1 z 加加 1 0 x 0 y 0 z 输输出出 x,y,z N Y Y N N Y 2022-11-7电气与信息工程学院计算机系张吴波制作#include#include int main()int x,y,z;
8、for(x=0;x=100/5;x+)for(y=0;y=100/3;y+)for(z=0;z=100;z+)if(x+y+z=100&15*x+9*y+z=300)printf(“x=%d,y=%d,z=%dn”,x,y,z);return 0;lesson8_02.c2022-11-7电气与信息工程学院计算机系张吴波制作3课堂练习课堂练习3、求所有的三位水仙花数、求所有的三位水仙花数若一个若一个3位自然数的各位数字的位自然数的各位数字的3次方之和次方之和等于它本身等于它本身,则称这个自然数为水仙花数。则称这个自然数为水仙花数。例如例如:153(153=13+33+53)是水仙花数是水仙花数
9、2022-11-7电气与信息工程学院计算机系张吴波制作3递推与迭代法递推与迭代法4 概述概述l递推是计算机数值计算中的一个重要算法。其基本策略是将复杂的运递推是计算机数值计算中的一个重要算法。其基本策略是将复杂的运算划分为可以重复操作的若干个简单的运算,进而充分利用计算机擅算划分为可以重复操作的若干个简单的运算,进而充分利用计算机擅长重复计算的特点。长重复计算的特点。l采用递推法进行问题求解的关键在于找出递推公式和边界条件。采用递推法进行问题求解的关键在于找出递推公式和边界条件。2022-11-7电气与信息工程学院计算机系张吴波制作3递推与迭代法递推与迭代法4 例例3 3:等比数列求和:等比数
展开阅读全文