|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 弋小草 于 2022-6-5 14:55 编辑
各位大佬大家好,今天遇到一个问题,思考良久还是没有得到心中的答案,所以来跟大家请教一下.
问题如下:
工地有一堆沙子,大车一次能拉2.5吨,小车一次能拉0.5吨,现在需要输入一个数字之后就知道这堆沙子用几辆大车几辆小车能拉完.
比方说,有10.3吨沙子,这时候就需要4辆大车和1辆小车.
我的解题思路是X-2.5,减一次就给A+1,直到X为负数之后停止,然后剩下的数字为Y;接着用Y-0.5,循环直到负数.
以上X是沙子总重量,Y为整数大车拉完之后剩余的重量,X=0,Y=1.
我知道我这个思路肯定不是最好的解题思路,毕竟我的编程知识还很匮乏,很多骚操作还完全不知道,毕竟小甲鱼老师的课我才上了三节.
不多说什麽了,我先按我的思路看看能不能写个代码出来,各位大佬如果有更好的方法还请不吝赐教.
另外如果这个运算有什么方法在Excel上实现也不是不可以 .
2022年6月5日追记:
之前得到大佬的答案,无奈因本人基础太差,虽然简单的得到想要的结果,但是实在不知道是怎么得到这样的结果的,所以自己又做了点功课,把代码全部加上了注释,万一有跟我一样看不懂的朋友,希望可以给予一些帮助.
- import math # 载入数学模块
- w = 10.3 # 赋值
- x = 2.5 # 赋值
- y = .5 # 赋值
- big = int(w // x) # int取w除以x答案的整数
- small = math.ceil((w % x) / y) #(w % x)为取模运算,就是返回除法运算的余数;数学模块math.ceil为向上舍入到最接近的整数
- print(big, small) # 输出结果
复制代码
本帖最后由 傻眼貓咪 于 2022-6-2 13:09 编辑
你的思路: - import math
- w = 10.3
- x = 2.5
- y = .5
- big = 0
- small = 0
- while True:
- if w - x < 0:
- break
- big += 1
- w -= x
-
- while w > 0:
- small += 1
- w -= y
- print(big, small)
复制代码
我的思路: - import math
- w = 10.3
- x = 2.5
- y = .5
- big = int(w // x)
- small = math.ceil((w % x) / y) # 向上取整
- print(big, small)
复制代码
|
|