python实现截竹竿

"""
截竹竿,32米竹竿,每次截取1.5m,至少截取几次之后剩余竹竿不足4m
"""
import math


def examplebam01(longm, secm, lastm):
    # 求出最大可以截取多少次
    # 由于截取到最后一段时可以不用截,所以截取要减1(通过math函数求出如果有小数直接进位)
    # math.ceil()向上取整
    bigsec = math.ceil(longm / secm) - 1

    # 求出不足多少米的次数(通过math函数求出如果有小数直接舍弃)
    # 由于最少截取的段数如果大于不足会导致剩余超出,所以要取能截的段数
    # math.floor()向下取整
    litsec = math.floor(lastm / secm)

    lastnum = bigsec - litsec
    return lastnum


def examplebam02(longm, secm, lastm):
    # 根据竹子的长度开始截取,截一次,减一次
    count = 0
    i = longm
    while i >= lastm:
        i -= secm
        count += 1
    print(count)


if __name__ == '__main__':
    # num = examplebam01(32,1.5,4)
    # print(num)
    examplebam02(32, 1.5, 4)

    # # 验证
    # if 32 - num * 1.5 < 4:
    #     print("ok")
    # else:
    #     print("no ok")
发布了45 篇原创文章 · 获赞 9 · 访问量 2250

猜你喜欢

转载自blog.csdn.net/adsszl_no_one/article/details/105303707