"""
截竹竿,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")
python实现截竹竿
猜你喜欢
转载自blog.csdn.net/adsszl_no_one/article/details/105303707
今日推荐
周排行