当前位置:首页>python>【每周一练】Python竞赛经典题型题解

【每周一练】Python竞赛经典题型题解

  • 2026-10-21 13:27:19
【每周一练】Python竞赛经典题型题解

点击蓝字

关注我们

科学普及、共创未来

2026 ACHIEVEMENT

 你最大的问题,就是觉得时间还够 /
备战信竞赛,从这题开始
积跬步,至千里。
【每周一练】旨在通过对信竞赛经典真题进行练习讲解,帮助大家进步,小伙伴们可以把讲解作为参考,也可以在留言中整理、分享自己的解题思路和做题心得。

鸡兔同笼

【问题描述】

利用 input() 语句先后输入两个正整数,分别代表鸡兔的头和脚的总数。其中,兔有四只脚,鸡有两只脚,都只有一个头。

请编写 Python 代码计算出兔和鸡的数量,输出结果形如“Chicken=15 Rabbit=5”,如没有解则输出“No solution!”。

【输入描述】

分两次输入,第一次输入头的总数,回车后输入脚的总数。

特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有input()函数不可有提示信息。

【输出描述】

如果有解,则输出鸡和兔分别数量,形如“Chicken=15 Rabbit=5”Rabbit之前有 1 个英文半角空格,C 和 R 都为大写。

如没有解则输出“No solution!”,No 之后有 1 个英文半角空格,solution 之后有英文半角叹号。

特别提示:注意字母大小写以及空格、叹号等匹配一致。

【样例输入 1】

2050

【样例输出 1】

Chicken=15 Rabbit=5

【样例输入 2】

2030

【样例输出 2】

No solution!

解题思路:

  1. 输入处理:读取两个整数,分别代表头数和脚数

  2. 方程建立:

    • 鸡兔总数为头数:c + r = head

    • 脚的总数为:2c + 4r = foot

  3. 求解方法:

    • 方法一:直接解方程得到兔的数量 r = (foot - 2*head)/2,鸡的数量 c = head - r

    • 方法二:遍历所有可能的鸡的数量(0到head),检查哪种组合满足脚数

  4. 有效性检查:

    • 解必须是整数

    • 解必须是非负数

    • 脚数必须是偶数(因为每只动物都有偶数只脚)

  5. 输出格式:严格按照要求的格式输出

参考程序:

注意:仅供参考,考生可以自行设计,结果符合题意即可。

方法一:

head = int(input())foot = int(input())i = 0num = 0while i <= head:if i * 2 + (head - i) * 4 == foot:        print("Chicken={} Rabbit={}".format(i, head - i))        num += 1    i += 1if num == 0:    print("No solution!")

方法二:

head = int(input())foot = int(input())R = (foot - 2 * head) / 2C = head - Rif R < 0or int(R) != R:    print('No solution!')else:    C = int(C)    R = int(R)    print("Chicken={} Rabbit={}".format(C, R))

想要踏上信竞赛道吗?

想要通过信竞赛道通向重点高中、

985高校吗?

机器人/代码编程课体验!让更多的孩子得到更好的逻辑思维、信息技术教育!

注:本文所用字体或素材均已获得图怪兽官方商用授权,如有疑问请联系我方。

校区地址:

因特编程Intcode
广州市番禺区亚运大道
喜盈汇一楼1083-1086号

联系电话:

13602299249  跳跳老师/蔡蔡老师

最新文章

随机文章