C语言穷举法经典例题.ppt
《C语言穷举法经典例题.ppt》由会员分享,可在线阅读,更多相关《C语言穷举法经典例题.ppt(18页珍藏版)》请在三一办公上搜索。
1、枚举法(穷举法),“笨人之法”:把所有可能的情况一一测试,筛选出符合条件的各种结果进行输出。,分析:这是个不定方程三元一次方程组问题(三个变量,两个方程)xyz=100 5x3yz/3=100 设公鸡为x只,母鸡为y只,小鸡为z只。,百元买百鸡问题分析,xyz=1005x3yz/3=100,三重循环,void main()int x,y,z;for(x=0;x=100;x+)for(y=0;y=100;y+)for(z=0;z=100;z+)if(x+y+z=100,结果:x=0,y=25,z=75 x=4,y=18,z=78 x=8,y=11,z=81 x=12,y=4,z=84,【讨论】为
2、什么多了几组解?,?,百元买百鸡问题分析,void main()int x,y,z;for(x=0;x=100;x+)for(y=0;y=100;y+)for(z=0;z=100;z+)if(z%3=0,结果:x=0,y=25,z=75 x=4,y=18,z=78 x=8,y=11,z=81 x=12,y=4,z=84,【讨论】此为“最笨”之法要进行101101101=1030301次(100多万次)运算。,优化,void main()int x,y,z;for(x=0;x=100;x+)for(y=0;y=100;y+)z=100-x-y;if(z%3=0,【讨论】令z=100-x-y 只进
3、行101101=10201 次运算(前者的1%),取x=20,y=33 只进行2134=714 次运算(第1种运算的6.9e-4),继续优化,void main()int x,y,z;for(x=0;x=14;x+)for(y=0;y=25;y+)if(7*x+4*y=100)z=100-x-y;printf(cocks=%d,hens=%d,chickens=%dn,x,y,z);,取x=14,y=25 只进行1526=390 次运算,课堂讨论:谁做的好事?有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。A说:不是我。B说:是C。C说:是D。D说:C胡说。已知三
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 穷举 法经 例题

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