文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python编程:实现计算鸡兔同笼问题

2023-09-04 21:56

关注

目录

一、编程题目

二、输入输出样例

三、程序实现

四、测试


        大约在1500年前,《孙子算经》中就记载了这个有趣的问题:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”意思是,有若干只鸡和兔子关在同一个笼子里,从上面数有20个头,从下面数有56只脚,问:笼子中有多少只鸡?多少只兔子?

       编程实现:输入脑袋的数量和脚的数量,输出鸡和兔子的数量,如果没有解,则输出无解。


    输入:20 56

    输出:鸡有12只,兔有8只

    输入:30 63

    输出:无解


        1、定义函数chicken_and_rabbit用于计算鸡和兔子的数量 

        方法一:    假设全是鸡,计算多出了几只脚,1只兔子比1只鸡多2只脚,所以多出来的是兔子的脚,从而知道兔子的数量,再用头的数量减去兔子,得到鸡的数量。 

def chicken_and_rabbit(head,foot):     #计算全是鸡还多余几只脚     foot_remain = foot - head*2     if foot_remain%2==0:#一只兔子多2只脚,计算有多少只兔子         rabbit = int(foot_remain/2)         chicken = head-rabbit         print("鸡有", chicken, "只;兔子有", rabbit, "只")     else:         print("无解")

        方法二:使用循环求解,脚的数量=鸡的数量x2+兔子的数量x4,头的数量=鸡+兔,两个参数,两个方程,可以求解。        

def chicken_and_rabbit(head, foot):    answer = False    for x in range(head + 1):        for y in range(head + 1):            if x + y == head and 2 * x + 4 * y == foot:                answer = True                break        if answer:            break    if answer:        print("鸡有", x, "只;兔子有", y, "只")    else:        print("无解")

    2、input获取输入的头的数量和脚的数量,然后调用求解的方法

head,foot = input().split()chicken_and_rabbit(int(head),int(foot))

        

         

         

        

         

 

来源地址:https://blog.csdn.net/c1007857613/article/details/129384090

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯