Python 给定4个值q、w、e和问题,如何解决给定问题
我正在研究一个问题,在这个问题中,给你三个值Python 给定4个值q、w、e和问题,如何解决给定问题,python,algorithm,Python,Algorithm,我正在研究一个问题,在这个问题中,给你三个值q,w,eq是一个小时内可以解决多少问题,w是一个人可以连续解决多少个小时的问题,e是“工作”会话之间需要休息多少小时 我得到了q、w、e以及需要解决的问题的数量 我必须输出学生完成问题所需的小时数(四舍五入到最接近的整数) 这是我尝试过的代码,但它不适用于所有可能的q、w、e值 problems = int(input()) q = int(input()) w = int(input()) e = int(input()) problems_sol
q,w,e
q
是一个小时内可以解决多少问题,w
是一个人可以连续解决多少个小时的问题,e
是“工作”会话之间需要休息多少小时
我得到了q、w、e以及需要解决的问题的数量
我必须输出学生完成问题所需的小时数(四舍五入到最接近的整数)
这是我尝试过的代码,但它不适用于所有可能的q、w、e
值
problems = int(input())
q = int(input())
w = int(input())
e = int(input())
problems_solved = 0
hours = 0
while problems_solved < problems:
problems_solved+=q
hours+=1
if hours % w == 0 and problems_solved < problems:
hours+=e
print(hours)
problems=int(输入())
q=int(输入())
w=int(输入())
e=int(输入()
已解决的问题=0
小时=0
当问题解决时<问题:
问题_已解决+=q
小时数+=1
如果小时数%w==0且问题\u已解决<问题:
小时+=e
打印(小时)
条件小时数%w
导致了此问题。如问题所述,其余部分必须在w
小时或w
工作时间后进行。但是,您同时将休息时间和工作时间添加到单个变量(hours
)中,这在逻辑上是不正确的
解决方案:保留一个单独的变量来计算休息时间,如下所示:
problems = int(input())
q = int(input())
w = int(input())
e = int(input())
problems_solved = 0
work_hours = 0
rest_hours = 0
while problems_solved < problems:
problems_solved+=q
work_hours+=1
if work_hours % w == 0 and problems_solved < problems:
rest_hours+=e
print(work_hours + rest_hours)
problems=int(输入())
q=int(输入())
w=int(输入())
e=int(输入()
已解决的问题=0
工作时间=0
休息时间=0
当问题解决时<问题:
问题_已解决+=q
工时+=1
如果工时%w==0且问题已解决<问题:
休息时间+=e
打印(工作时间+休息时间)
代码中的错误是hours+=e
将中断hours%w
计算。例如,如果w
为3,而e
为2,则学生将工作三小时,然后休息两小时。此时hours
为5。因此,学生将工作一个小时,然后再次休息。似乎这可以在O(1)
中完成,而不是在O(问题/q)
有趣的@user3386109中完成。你能详细说明一下,如果可能的话,帮我修复我的解决方案吗?你能帮我修复我的解决方案@user3365922先看看答案吗