py考试题 求hxd帮帮我吧 难死我了

img

你这样例输出,我感觉咋不对类?
你看我这个对吗?


def Ack(M, N, X):
    if X == 0:  # 能量X为0,返回此时战斗力N
        return N
    x = 0
    while x * N < M:    # 一能量恢复x*N体力,获取恢复满体力最少需要几能量
        x += 1          # 不够,多用一能量
        X -= 1          # 此时,总能量减一
    N += M              # 恢复后战斗,战斗力增加M(M天战斗期,一天+1)
    print(f"消耗{x}能量,剩余{X}能量,体力回满,此时战斗力为{N}")
    return Ack(M, N, X)

if __name__ == '__main__':
    u_input = str(input(":"))
    u_list = u_input.split(" ")
    res = Ack(int(u_list[0]), int(u_list[1]), int(u_list[2]))
    print(res)

样例输入输出:


# :5 2 10
# 消耗3能量,剩余7能量,体力回满,此时战斗力为7
# 消耗1能量,剩余6能量,体力回满,此时战斗力为12
# 消耗1能量,剩余5能量,体力回满,此时战斗力为17
# 消耗1能量,剩余4能量,体力回满,此时战斗力为22
# 消耗1能量,剩余3能量,体力回满,此时战斗力为27
# 消耗1能量,剩余2能量,体力回满,此时战斗力为32
# 消耗1能量,剩余1能量,体力回满,此时战斗力为37
# 消耗1能量,剩余0能量,体力回满,此时战斗力为42
# 42