欢迎来到天天文库
浏览记录
ID:42937004
大小:291.50 KB
页数:15页
时间:2019-09-26
《枚举法(单重循环到两重循环》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十二讲枚举法(单重循环到双重循环)作业讲评:1、在1~1000这些自然数中找出所有能被3和5整除的数来。[文件名:找3和5的倍数]Fori=1to1000Ifimod3=0andimod5=0thenprintiendifnexti作业讲评:2、在1~1000这些自然数中找出所有被3除余2、被5除余3的数来。[文件名:找不同余数的解]Fori=1to1000Ifimod3=2andimod5=3thenprintiendifnexti作业讲评:3.设n是一个四位数,它的9倍恰好是其反序数,求n。反序数就是将整数的数字倒过来形成的整数。例如1234的反序数是4321。[文
2、件名:反序数]Forx=1000to9999a=int(x/1000)b=int(x/100)mod10c=int((xmod100)/10)d=xmod10if9*x=a+b*10+c*100+d*1000thenprintxendifnextx例题1:(1)有一张单据,上面有一个五位数17□72,有一个数字模糊不清,但是知道该五位数能被23整除,找出所有满足条件的五位数。[文件名:单据数字推算]提问1:请用已经学过的枚举法用自己的语言来描述一下如何解决这个问题。解答:枚举法的解题思路:枚举17072、17172、17272。。。1797210个数(循环次数)17072
3、mod23=0?如果能整除23的就输出答案,不能整除的不输出答案(分支),然后继续下一个值的测试,17172mod23=0?……...直到17972mod23=0?为止(循环)提问2:(1)利用算法三种结构中的哪些结构来完成?解答:循环嵌套分支(2)用i表示缺损的百位,假设这五位数为k,如何用i来表示k?解答:k=17072+i*100(3)i的取值范围是多少?解答:i的取值范围[0,9]例题1:(1)有一张单据,上面有一个五位数17□72,有一个数字模糊不清,但是知道该五位数能被23整除,找出所有满足条件的五位数。[文件名:单据数字推算]begin①Printkendi
4、=0kmod23=0k=②F③FTT解答:①i<=9②17072+i*100③i=i+1Fori=0to9k=17072+i*100ifkmod23=0thenprintkendifnexti例题1:(1)有一张单据,上面有一个五位数17□72,有一个数字模糊不清,但是知道该五位数能被23整除,找出所有满足条件的五位数。[文件名:单据数字推算]例题1:(2)那张单据,上面还是五位数,有两个数字模糊不清,17□□2,知道该五位数能被23整除,找出所有满足条件的五位数。[文件名:单据数字推算]提问:(1)利用算法三种结构中的哪些结构来完成?解答:循环嵌套分支(2)用i表示
5、缺损的十位和百位,假设这五位数为k,如何用i来表示k?解答:k=17002+i*10(3)i的取值范围是多少?解答:i的取值范围[0,99]begin①Printkendi=0kmod23=0k=②F③FTT解答:①i<=99②17002+i*10③i=i+1Fori=0to99k=17002+i*10ifkmod23=0thenprintkendifnexti例题1:(2)那张单据,上面还是五位数,有两个数字模糊不清,17□□2,知道该五位数能被23整除,找出所有满足条件的五位数。[文件名:单据数字推算]例题1:(3)那张单据,上面还是五位数,有两个数字模糊不清,但
6、不是连续的是间隔的,1□7□2,知道该五位数能被23整除,找出所有满足条件的五位数。[文件名:单据数字推算]提问:(1)利用算法三种结构中的哪些结构来完成?解答:用循环嵌套分支,用单重循环不能解决,用双重循环来解决(2)用i表示缺损的千位,j表示十位,假设这五位数为k,如何用i和j来表示k?解答:k=10702+i*1000+j*10(3)i,j的取值范围是多少?解答:i的取值范围[0,9],j的取值范围[0,9]双重循环枚举结构:Fori=初值to终值Forj=初值to终值If判断条件then输出答案EndifNextjNextiFori=0to9Forj=0to9k=
7、10702+i*1000+j*10Ifkmod23=0thenprintkEndifNextjNexti例题1:(3)那张单据,上面还是五位数,有两个数字模糊不清,但不是连续的是间隔的,1□7□2,知道该五位数能被23整除,找出所有满足条件的五位数。[文件名:单据数字推算]例题2:包装600个变形金刚,要求是:(1)包装的规格分别是:小盒每盒12个,大盒每盒15个。(2)每种规格的盒数都不能为0。请设计一个算法,输出所有可能的包装方案。[文件名:包装方案]解题思路:假设大盒、小盒的数量分别为i,j,那么可推导出15*i+12*
此文档下载收益归作者所有