第一部分:趣味算法入门第一题:百钱买百鸡

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第⼀部分:趣味算法⼊门第⼀题:百钱买百鸡
100个不同类型的python语⾔趣味编程题
在求解的过程中培养编程兴趣,拓展编程思维,提⾼编程能⼒。

第⼀部分:趣味算法⼊门;第⼀题
'''
1.百钱买百鸡:中国古代数学家张丘建在他的《算经》中提出了⼀个著名的 “ 百钱百鸡问题 “:⼀只公鸡值五钱,⼀只母鸡值三钱,三只⼩鸡值⼀钱,现在要⽤百钱买百鸡,请问公鸡、母鸡、⼩鸡各多少只?'''
#答案⽰例如下;
import time #导⼊time模块,以⽤来计算程序运⾏的时间,可忽视
time.perf_counter() #与time模块中计算时间有关,可忽视
#主体代码块如下:
for cock in range(0,20):
for hen in range(0,33-cock):
chicken=100-cock-hen
if chicken%3==0:
if 5 * cock + 3 * hen + chicken / 3 == 100:
print('公鸡{}只,母鸡{}只,⼩鸡{}只'.format(cock,hen,chicken))
print(time.perf_counter()) #打印出程序运⾏的时间,可忽视
#解本问题有多种⽅法,我只写了⼀种⽅法,读者可以⾃⼰尝试各种⽅法,再⽤time模块计算每种⽅法的运⾏时间。

补充:算法是解决特定问题的⽅法,是程序设计的基础,是程序设计的灵魂。

作为⼀个算法,应具备5个特性,即有穷性、确定性、可⾏性、输⼊和输出。

计算机算法可分为两⼤类,分别是数值计算算法和⾮数值计算算法,数值计算的⽬的是求解数值,例如求⽅程的根;⾮数值计算算法主要⽤于处理事务领域的问题,如排序、查找等。

问题分析:⽤百钱如果只买公鸡,最多可以买20只,但题⽬要求买⼀百只,由此可知,所买公鸡的数量肯定在0-20之间,同理,母鸡的数量在0~33之间在。

此把公鸡、母鸡和⼩鸡的数量分别设为cock、hen、chicken, 则cock+hen+chicken=100,因此百钱买百鸡问题就转化成解不定⽅程组cock + hen + chicken == 100和5 x cock + 3 x hen +chicken/3=100的问题了。

如果你喜欢我的⽂章,请滑到下⽅点个推荐再⾛. ,以给我动⼒哦;转载请注名出处。

然后..请多来做客鸭。

注:100个不同类型的python语⾔趣味编程题是参考100个不同类型的c语⾔趣味编程题⽽写,陆续会更新。

欢迎⼤家分享出你们的⽅案。

相关文档
最新文档