- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
选修穷举法课件高中信息技术
穷举法
(Complete?Search );概 述;枚举法的优化方法:
1)减少枚举的变量,在使用枚举法之前,先考虑一下解元素之 间的关联,将一些非枚举不可的解元素列为枚举变量,其他元素通过计算得出解元素的可能值。
2)减少枚举变量的值域
;例1:百钱百鸡问题。 公鸡5文钱1只, 母鸡3文钱1只,
小鸡一文钱3只。 100文钱如何卖100只鸡?
? 条件分析
设买 x 只公鸡,y 只母鸡,z 只小鸡,则有:
x+y+z=100
5x+3y+z/3=100
且:x、y、z 都是整数;
0 ≤ x ≤ 20;
0 ≤ y ≤ 33;
0 ≤ z ≤ 99;
z%3=0。;? 基本算法思想,
上述方程属于不定方程,解并不唯一,因此,可
用穷举法对 x、y、z 的所有组合情况,测试满足
条件的解。具体是:
把x可能值0~20和y可能值0~33用二重循环来组
合??每个x和y组合都可得到z值,即z=100-x-y,
若x、y、z值使5x+3y+z/3=100成立,则该组x、
y、z即为一组所求值。即:
穷举范围: x : 0~20 , y : 0~33 , z : 100-x-y
判断式: z%3==05*x+3*y+z/3==100; 另一方法是:把x可能值0~20、y可能值0~33和z
可能值0~99用三重循环来组合,若x、y、z值使
5x+3y+z/3=100和x+y+z=100同时成立,则该组x、
y、z即为一组所求值。即:
穷举范围:
x : 0~20 , y : 0~33 , z : 0~99
判断式:
z%3==05*x+3*y+z/3==100x+y+z==100
;金手指考试网 / 2016年金手指驾驶员考试科目一 科目四元贝驾考网 科目一科目四仿真考试题C1;main( )
{ int x, y, z, j=1;
printf(Possible solutions to buy 100 fowls whith
100 wen:\n);
for (x=0; x=20; x++)
for (y=0; y=33; y++)
{ z=100-x-y;
if (z%3==05*x+3*y+z/3==100)
{ printf(%2d:cock=%-2d hen=%-2d
chicken=%-2d\n, j, x, y, z);
j++;}
}
};运行结果:
Possible solutions to buy 100 fowls whith 100 wen:
1: cock=0 hen=25 chicken=75
2: cock=4 hen=18 chicken=78
3: cock=8 hen=11 chicken=81
4: cock=12 hen=4 chicken=84;例2:打印出所有的“水仙花数”。所谓“水仙花
数”是指一个三位正整数,其各位数字的立方和
等于该数本身,例如:153=13+53+33 。
? 穷举范围:即把所有的三位正整数100~999按题
意一一进行判断。
? 判断式:如果一个三位正整数n的百位、十位、
个位上的数字分别为i、j、k,则判断式为:
n = i3 + j3 + k3
? 如何分解三位数n的百位、十位、个位:
百位:i = n/100;
十位:j = ( n/10 )%10;
个位:k = n%10;;#include stdio.h
main()
{ int n,i,j,k;
for( n=100; n=999; n++ )
{ i = n /100;
您可能关注的文档
- 近代物理学的奠基人和革命者文科.pptx
- 近现代史课件陈绍宽历史人物讲解.ppt
- 近期工作总结及重底点工作规划.pptx
- 近高考文综高考文综历史试题和解题思路.pptx
- 近必修二代中国经济结构的变动.ppt
- 近来的自然和人为灾害的英语介绍.ppt
- 还孩子快乐而有意义的童挂苏州.pptx
- 这个主意真好写作指导课课件.pptx
- 近期建设工程质管量理文件介绍.pptx
- 进一步规病历书写及病案整理.ppt
- 海南省天一大联考2024-2025学年高二下学期学业水平诊断(三)物理试题及答案.pdf
- 福建省百校2024-2025学年高二下学期期末联考英语(含答案).pdf
- 江西省宜春市部分重点中学2024-2025学年高一下学期7月联考生物试卷(扫描版,含答案).docx
- 2023电动两轮车行业国内格局及东南亚出海市场分析报告.pdf
- 海南省天一大联考2024-2025学年高二下学期学业水平诊断(三)生物试题及答案.pdf
- 海南省天一大联考2024-2025学年高二下学期学业水平诊断(三)地理试题及答案.pdf
- 河南省洛阳市强基联盟2025年7月高二下学期期末联考政治试题及答案.docx
- 福建省百校2024-2025学年高二下学期期末联考语文(含答案).pdf
- 海南省天一大联考2024-2025学年高二下学期学业水平诊断(三)语文试题及答案.docx
- 海南省天一大联考2024-2025学年高二下学期学业水平诊断(三)数学试题及答案.pdf
文档评论(0)