1. 题目
一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。
2. 输入格式:
(1)有 2 个正整数n和 k(k<=1000 ),表示汽车加满油后可行驶n公里,且旅途中有 k个加油站。
(2)有 k+1 个整数,表示第 k 个加油站与第k-1 个加油站之间的距离。 第 0 个加油站表示出发地,汽车已加满油。 第 k+1 个加油站表示目的地。
3. 输出格式:
输出最少加油次数。
4. 实现代码
def jy(n, x):
# 加油的次数
count = 0
# 汽车的剩余油量
y = n
# 开始行使
for i in range(len(x)-1):
# 到达一个加油站
y -= x[i]
# 判断是否需要加油
if y > x[i+1]:
# 不需要,继续走
continue
else:
# 需要,输出这是第几个加油站,并统计加油一次
print(f"这个是第{i+1}个加油站")
count += 1
# 加满油
y = n
# 输出加油的次数
return count
n = int(input("请输入加满油之后车能跑多远:"))
k = int(input("请输入有多少个加油站:"))
print("请输入距离:")
x = [int(input()) for i in range(k+1)]
print(f"总共加油次数:{jy(n,x)}")
5. 运行结果