百钱百鸡的python算法

author author     2023-05-08     125

关键词:

问题描述
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百
钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一
钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?
问题分析
用百钱如果只买公鸡,最多可以买20只,但题目要求买100只,由
此可知,所买公鸡的数量肯定在0~20之间。同理,母鸡的数量在0~
33之间。在此不妨把公鸡、母鸡和小鸡的数量分别设为cock、hen、
chicken,则cock+hen+chicken=100,因此百钱买百鸡问题就转化成解
不定方程组
if __name__=="__main__":
# cock表示公鸡数量,hen表示母鸡数量,chicken表示小鸡数量,总共100只
外层循环控制公鸡数量取值范围为
# 外层循环控制公鸡数量取值范围为0~20
cock = 0
while cock <= 20:
# 内层循环控制母鸡数量取值范围为0~33
hen = 0
while hen <= 33:
#内层循环控制小鸡数量取值范围为0~100
chicken = 0
while chicken <= 100:
# 条件控制
if (5 * cock + 3 * hen + chicken / 3.0 ==100) and (cock + hen
+ chicken ==100):
print("cock=%2d,hen=%2d,chicken=%2d\n" %(cock,hen,chicken))
chicken += 1
hen += 1
cock += 1
这段代码是一个Python程序,它解决了一个与计算鸡、母鸡和公鸡的数量有关的问题,因为总共有100只鸟,总成本为100元。下面是代码的工作原理:
行if __name__==“__main__”:是一个条件语句,用于检查脚本是否作为主程序执行。如果是,则将执行以下代码块。
变量cock、hen和chicken分别表示公鸡、母鸡和鸡的数量。问题表明总共有100只鸟,因此这些变量必须满足方程公鸡+母鸡+鸡=100。
最外面的while循环遍历cock的所有可能值,从0到20。这是因为问题表明最多可以有20只公鸡。
第二个while循环嵌套在外部循环中,并迭代所有可能的值,从0到33。这是因为问题表明最多可以有33只母鸡。
第三个while循环嵌套在第二个循环中,并迭代鸡的所有可能值,从0到100。这是因为问题没有指定鸡的最大数量。
if语句检查公鸡、母鸡和鸡的当前值是否满足问题中指定的两个条件:鸟类总数为100只,总成本为100元。如果两个条件都满足,则公鸡、母鸡和鸡的当前值将打印到控制台。
鸡+=1、母鸡+=1和公鸡+=1行位于最里面的循环内,并在循环的每次迭代中将鸡、母鸡和公鸡的值增加1。
总的来说,这段代码实现了一种暴力算法,它迭代公鸡、母鸡和鸡的所有可能组合,并检查每个组合是否满足给定条件。当找到满足条件的组合时,它将打印到控制台。
参考技术A for cock in range(1,20+1):
    for hen in range(1,33+1):
        for biddy in range(1,99+1):
            if (5*cock+3*hen+biddy/3)==100:
                if (cock+hen+biddy)==100:
                    if biddy%3==0:
                        print cock,hen,biddy

你也没给价格,这个解答是假设公鸡5块,母鸡3块,小鸡3只1块


*转自互联网


Python3编译的话记得把print换成函数

追问

你是python的大神么?

追答

这种程序不需要多神就能写吧。。。。。。

本回答被提问者和网友采纳

算法百钱百鸡(代码片段)

1.问题  公鸡一只5文,母鸡一只3文,小鸡3只一文,要求用一百文钱刚好买一百只鸡,求所有可能性  2.思路  根据已知可以得出等量关系如下(公鸡x  母鸡y  小鸡z)  5x+3y+z/3=100  x+y+z=100   经过推导... 查看详情

php/python---百钱百鸡简单实现及优化

...手写出来后发现不是最优的?? php实现 //============百钱百鸡===========//公鸡5元/只母鸡3元/只小鸡1元/3只一百元买一百只$count=0;//记录运行次数for($i=0;$i<=100;$i++)for( 查看详情

python每日一练——第4天:百钱百鸡问题(升级版)(代码片段)

...国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?百... 查看详情

练习四十一:百钱百鸡(代码片段)

公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡、母鸡、小鸡都必须有,那么可以买公鸡、母鸡、小鸡各多少只,正好是100文钱了1forxinrange(1,21):2foryinrange(1,34):3z=100-(x+y)#小鸡的个数4ifz%3==0andx*5+y*3+z... 查看详情

c语言程序设计百钱买百鸡(百钱百鸡,百鸡问题)!(代码片段)

...古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何? 实现过程:使用for... 查看详情

《c#零基础入门之百识百例》(十九)穷举法--百钱百鸡

...2优缺点二,穷举法优化2.1穷举法优化策略三,实例练习--百钱百鸡3.1题目描述3.2问题分析3.3参考代码前言本文属于C#零基础入门之百识百例系列文章。此系列文章旨在为学习C#语言的童鞋提供一套系统的学习路径。此系列文章都... 查看详情

写一个百钱买百鸡的demo

vargj;//公鸡只数varmj;//母鸡只数varxj;//小鸡只数for(gj=0;gj<20;gj++){//公鸡最多能买20只,枚举每一种情况  for(mj=0;mj<Math.ceil(100-5*gj)/3);mj++{//同样枚举    xj=(100-gj*5-mj*3)*3;    if(gj+mj+xj==100)console.log("公鸡:"+gj,("母 查看详情

马克思手稿中的趣味数学题(百钱百鸡问题人类版)(代码片段)

题目内容:编程求解马克思手稿中的趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请编程计算... 查看详情

百钱买百鸡问题程序

雄鸡7元1只,母鸡5元1只,小鸡1元1只。百钱百只。问各有几只???1//程序2#include<iostream>3#include<fstream>45usingnamespacestd;67intmain()8{910intcock,hen,chicken;1112for(cock=1;cock<=13;cock++)13{14for(hen=1;hen< 查看详情

百钱买百鸡(代码片段)

...鸡中,公鸡、母鸡和小鸡各是多少只?分析与解答:根据百钱买百鸡的要求,可以假设一共有i只公鸡,j只母鸡,k只小鸡,并且i+j+k的总数为100,即i×5+j×3+k/3=100(k必须是3的倍数)。依次对公鸡、母鸡、小鸡的总数循环,进而求... 查看详情

马克思手稿中的趣味数学题(百钱百鸡问题人类版)(代码片段)

题目内容:编程求解马克思手稿中的趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请编程计算... 查看详情

华为机试题hj72百钱买百鸡问题(代码片段)

HJ72百钱买百鸡问题一、题目描述二、参考代码1三、参考代码2一、题目描述公元五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母... 查看详情

算法-百钱买白鸡(代码片段)

   百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑... 查看详情

java算法之百钱买百鸡问题

题目:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。解:设,公鸡x只,母鸡y只,小鸡z只。x+y+z=1005x+3y+1/3z=100(0<x... 查看详情

百钱买百鸡

publicclassSample1//百钱买百鸡/*鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?*/{ publicstaticvoidmain(String[]args){ intx;//可买鸡翁只数 inty;//可买鸡母只数 intz;//可买鸡雏只数 for(x=0;x<=10... 查看详情

p63思考题.五次循环解决百鸡百钱问题(代码片段)

课本P61页介绍了穷举法,并结合案例3.7解决了百鸡百钱问题.题目:公鸡5钱1只;母鸡3钱1只;雏鸡1钱3只.百钱买百鸡,求各几只.书上给出了一种简化算法:设chick=100-hen-rooster 代替判定条件rooster+hen+chick=100,因此只需二重循环即可解决... 查看详情

百鸡百钱

我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的:5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编... 查看详情

百钱买百鸡(代码片段)

...学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?用go语言如何实现?方法一packagemainimport"fmt"funcmain()varnint//i为鸡翁、j为鸡母、k为鸡雏fori:=0;i<=100;i++forj:=0;j<=100;j++fork:=0;k<=... 查看详情