有一更长度为n(单位:m)的钢筋,需要截成69cm,39cm,29cm.三种规格的材料,在三种规格至少截一段的情况下,如何截取才能使余下的材料最少?n由用户来输入。
2条回答 默认 最新
- 陈年椰子 2021-12-29 09:49关注
既然是简单方法, 那就全部遍历好了。
n = float(input("材料长度")) w = [0.69,0.39,0.29] x = [int(n/m) for m in w] # print(x) less = n r = [0,0,0] for i0 in range(0, x[0]+1): for i1 in range(0, x[1] + 1): for i2 in range(0, x[2] + 1): temp = round(n - i0 * w[0] - i1 * w[1] - i2 * w[2],2) if temp < 0: continue if temp < less: less = temp r = [i0,i1,i2] # print('新最优解', less, r) print('最优解:剩余', less, ) for i in range(3): print('截',w[i],'cm ',r[i],'段')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 求解达问题(有红包)
- ¥15 请解包一个pak文件
- ¥15 不同系统编译兼容问题
- ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
- ¥30 数字电源对DSP芯片的具体要求
- ¥20 antv g6 折线边如何变为钝角
- ¥30 如何在Matlab或Python中 设置饼图的高度
- ¥15 nginx中的CORS策略应该如何配置
- ¥30 信号与系统实验:采样定理分析
- ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao