学校头歌作业3_1中国古代数学问题(头歌作业[Python])

在CSDN上补充前几期的内容

第1关:鸡兔同笼

python 复制代码
"""
在同一行内输入用空格分隔的两个整数,代表头和脚的数量,计算并输出笼中各有多少只鸡和兔,
如无解则输出"Data Error!",函数无返回值。
输入:35 94
输出:有23 只鸡,12 只兔
输入:100 5
输出:Data Error!
"""
head,feet = map(int, input().split()) #读入以空格分隔的两个整数,表示头和脚的数量
##############Begin#####################

m = (4*head - feet)/2
n = (feet - 2 * head)/2
if (round(m-int(m),4)) > 0 and  (round(m-int(n),4)) >0:
    print("Data Error!")
elif m < 0 or n < 0 :
    print("Data Error!")
else:
    m = int(m)
    n = int(n)
    print(f"有{m}只鸡,{n}只兔")
##############End#####################

第2关:物不知数

python 复制代码
"""一些物品,不知道有多少个,3个3个数的话,还多出2个;5个5个数则多出3个;
7个7个数也会多出2个。输入一个正整数,从小到大依次输出所有不超过输入数字
且满足条件的物品数量,有多个答案时每行输出一个。
例如输入:200
输出:
23
128
"""
n = int(input())
##############Begin#####################
z = 0
for i in range (n+1):
    if i % 3 == 2 and i % 5 == 3 and i % 7 == 2 :
        z += 1
        print(i)
if z == 0:
    print("No solution!")

##############End#####################

第3关:二鼠打洞

python 复制代码
"""有一堵十尺厚的墙,两只老鼠从两边向中间打洞。大老鼠第一天打洞一尺,小老鼠也是打洞一尺。
大老鼠每天的打洞进度是前一天的一倍,小老鼠每天的进度是前一天的一半。计算并输出它们几天可以相逢,
相逢时各打了多少尺。
输入格式:输入1 个整数,代表墙的厚度,单位为尺
输出格式:
第一行输出1 个整数,表示相遇时所需的天数
第二行输出2 个浮点数,分别为小鼠和大鼠打洞的距离,单位为尺,保留小数点后1 位数字。
"""
wall = int(input()) #墙壁的厚度
rat, mouse, day, time = 1, 1, 0, 1 #大鼠速度、小鼠速度、天数、当天工作时长(1表示工作一整天)
distance_of_rat, distance_of_mouse = 0, 0 #大鼠路程、小鼠的路程
while wall > 0:
################Begin#######################
    
    wall = wall - rat - mouse
   
    if wall  <=0:   
        wall = wall + rat + mouse
        x = wall /(rat + mouse)
        distance_of_rat +=   rat * x
        distance_of_mouse +=  mouse * x
        wall = wall - rat - mouse
        day += 1 
        
    else:
        distance_of_rat +=   rat
        distance_of_mouse +=  mouse
        day += 1 
        rat = 2 * rat
        mouse = 1/2 * mouse
################End#######################
print(day)
print(round(distance_of_mouse, 1), round(distance_of_rat, 1)) #使用round函数来保留小数点后一位

第4关:宝塔上的琉璃灯

python 复制代码
"""有一座八层宝塔,每一层都有一些琉璃灯,每一层的灯数都是上一层的二倍,
已知共有765 盏琉璃灯,计算并输出每层各有多少盏琉璃灯。
输出为8行,每行都是一个正整数,从上往下数字依次增大,每个数字代表本层宝塔上的琉璃灯数目。
"""

    #################Begin#############################

from itertools import count

for first in count(1,1):
    floors = [first*(2**i) for i in range(8)]
    if sum(floors) == 765:
        for index,value in enumerate(floors,start=1):
            print(value)
        break
    #################End#############################

第5关:李白买酒

python 复制代码
"""大诗人李白,提着酒壶,从家里出来,酒壶中有酒若干。他边走边唱:无事街上走,提壶去买酒,
遇店加一倍,见花喝一斗,五遇店和花,喝光壶中酒,计算并输出壶中原有酒几斗?
"""
#解题思路:让李白按路线逆向走一遍
wine =0  #最后酒壶空了
################Begin#################
for i in range(5):
    #遇到鲜花
    wine = wine +1
    #遇到酒店
    wine = wine / 2

################End#################
print(wine) #原来有多少斗酒
相关推荐
郭庆汝5 小时前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
思则变8 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
漫谈网络8 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
try2find10 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
博观而约取11 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
精灵vector12 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
Zonda要好好学习12 小时前
Python入门Day2
开发语言·python
Vertira12 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
太凉12 小时前
Python之 sorted() 函数的基本语法
python
项目題供诗13 小时前
黑马python(二十四)
开发语言·python