1、本网站免费注册后即可以下载,点击开通VIP会员可无限免费下载!
2、资料一般为word或PPT文档。建议使用IE9以上浏览器或360、谷歌、火狐浏览器浏览本站。
3、有任何下载问题,请联系微信客服。
扫描下方二维码,添加微信客服
选修1算法与程序设计《4.2.1用穷举法求解问题的基本过程》PPT课件优质课下载
思考:某个暑假小明携带密码行李箱外出旅游,旅行途中发现自己忘记了开锁的密码,怎么办?
穷举法的思路
穷举算法是程序设计中使用得最为普遍、大家必须熟练掌握和正确运用的一种算法。它利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。?
用穷举算法解决问题,通常可以从两个方面进行分析:? 一、问题所涉及的情况:问题所涉及的情况有哪些,情况的种数可不可以确定。把它描述出来。? 二、答案需要满足的条件:分析出来的这些情况,需要满足什么条件,才成为问题的答案。把这些条件描述出来。? 只要把这两个方面分析好了,问题自然会迎刃而解。?
例1?:?我国古代数学家张丘建在《算经》中出了这样一道题目:鸡翁一,值五钱,鸡母一,值三钱,鸡雏三,值一钱,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
分析:这就是穷举法当中的典型例题百钱百鸡问题。题目要我们找出符合条件的鸡翁、鸡母、鸡雏的个数。答案显然是一组数据。首先分析一下问题所涉及的情况。
百钱如果全买公鸡,可以买0~20只;
百钱如果全买母鸡,可以买0~33只;
百钱如果全买小鸡,可以买0~300只,但百鸡限定最多99只,小鸡数必须是3的倍数;
综上,我们发现公鸡21种买法,母鸡34种,小鸡33种,所以总共面临着 21×34 ×34 = 24276种买法。?
分析进入第二步
现在我们已经了解了所有可能的情况,按照穷举法解题的思路,我们需要设计一下正确买法所需满足的条件,假设公鸡数为x,母鸡数为y,小鸡数为z,则得到如下方程:
x 5+y 3+z/3=100
x +y +z=100
百钱
百鸡
编写程序
#include
main()
{
int i , j , k;
/准备输出格式/
printf(“﹨t公鸡﹨t母鸡﹨t小鸡﹨n”);
for(i=0;i<=20;i++)
for(j=0;j<=33;j++)