课件编号14267614

3.3 简单算法及其程序的实现——枚举算法的程序实现课件 2022—2023学年高中信息技术浙教版(2019)必修1(23张PPT)

日期:2024-05-16 科目:信息技术 类型:高中课件 查看:73次 大小:33437591Byte 来源:二一课件通
预览图 1/9
算法,程序,实现,23张,必修,2019
  • cover
(课件网) 枚举算法的程序实现 孙子算经 《孙子算经》是中国古代重要的数学著作。约成书于四、五世纪,也就是大约一千五百年前,作者生平和编写年不详。卷下第31回,可谓是后世“鸡兔同笼”题的始祖,后来传到日本,变成“鹤龟算”。 雉兔同笼 今有雉、兔同笼,上有三十五头,下有九十四足。 问:雉、兔各几何? 解析算法·雉兔同笼 用解析算法列数学表达式? 假设鸡为x,兔子为y 雉兔同笼 答曰:雉二十 三,兔一十二。 雉兔同笼 雉兔同笼 抬脚法 雉兔同笼 除了抬脚法,还有什么方法? 枚举算法 méi 枚 一一列举,逐个检验 穷举法 算法思想 1.把问题的所有的可能解一 一地罗列出来 2.每一个可能解进行判断 3.确定这个可能解是否是问题的真正解 枚举算法 枚举算法·雉兔同笼 当鸡为1的时候,兔子为1,满足条件吗? 当鸡为1的时候,兔子为2,满足条件吗? 当鸡为1的时候,兔子为3,满足条件吗? …… 枚举算法·雉兔同笼 当鸡为2的时候,兔子为1,满足条件吗? 当鸡为2的时候,兔子为2,满足条件吗? 当鸡为2的时候,兔子为3,满足条件吗? …… 枚举算法·雉兔同笼 鸡x的取值范围为 ~ 兔y的取值范围为 ~ 在这个取值范围内的所有x和y 判断:如果 x、y满足35个头 94只脚 那么我们要求的x、y 初值 终值 1 35 1 35 枚举算法·雉兔同笼 h = 35 f = 94 for x in range(1,35): for y in range(1,35): if x + y == 35 and 2 * x + 4 * y == 94 : print(x,y) int(input(“head:”)) int(input(“feet:”)) h h h f 枚举算法·雉兔同笼 h = 35 f = 94 for x in range(1,35): for y in range(1,35): if x + y == 35 and 2 * x + 4 * y == 94 : print(x,y) 汉高祖刘邦曾问大将韩信:“你看我能带多少兵?”韩信斜了刘邦一眼说:“你顶多能带十万兵吧!”汉高祖心中有三分不悦,心想:你竟敢小看我!“那你呢?”韩信傲气十足地说:“我呀,当然是多多益善啰!”刘邦心中又添了三分不高兴,勉强说:“将军如此大才,我很佩服。现在,我有一个小小的问题向将军请教,凭将军的大才,答起来一定不费吹灰之力的。”韩信满不在乎地说:“可以可以。”刘邦狡黠地一笑…… 孙子算经之韩信点兵 刘邦狡黠地一笑,传令叫来几十个士兵隔墙站队。 刘邦发令:“每三人站成一排。”队站好后, 小队长进来报告:“最后一排只有二人。” 刘邦又传令:“每五人站成一排。” 小队长报告:“最后一排只有三人。” 刘邦再传令:“每七人站成一排。” 小队长报告:“最后一排只有二人。” 刘邦转脸问韩信:“敢问将军,这队士兵有多少人?” 孙子算经之韩信点兵 韩信脱口而出:“二十三人。”刘邦大惊,心中的不快已增至十分,心想:“此人本事太大,我得想法找个岔子把他杀掉,免生后患。”一面则佯装笑脸夸了几句,并问:“你是怎样算的?” 韩信说:“臣幼得黄石公传授《孙子算经》,这孙子乃鬼谷子的弟子,算经中载有此题之算法. 孙子算经之韩信点兵 for x in range(10,100): if x%3==2 and x%5==3 and x%7==2: print(x) 孙子算经之韩信点兵 x=10 while x<100: if x%3==2 and x%5==3 and x%7==2: print(x) x=x+1 孙子算经之河妇荡杯 今有妇人河上荡杯,津吏问曰:“杯何以多?”“家有客几十。”津吏曰:“客几何?”妇人曰:“二人共饭,三人共羹,四人共肉,凡用杯六十五,不知客几何?” 荡杯:洗碗 二人共饭,三人共羹,四人共肉:二人共用一个饭碗,三人共用一个汤碗,4人共用一个菜碗 孙子算经之河妇荡杯 for x in range(10,100): if 1/2*x+1/3*x+1/4*x==65: print(x) x=10 while x<100: if 1/2*x+1/3*x+1/4*x==65: print(x) x+=1 今有妇人河上荡杯,津吏问曰:“杯何以多?”“家有客几十。” ... ...

~~ 您好,已阅读到文档的结尾了 ~~