Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 n개의 자전거를 사용하여 이동할 수 있는 최대 거리 찾기


n개의 자전거가 있고 각 자전거가 연료를 가득 채웠을 때 100km를 달릴 수 있다고 가정합니다. 우리는 이 n개의 자전거를 사용하여 갈 수 있는 최대 거리를 찾아야 합니다. 여기에서 우리는 모든 자전거가 비슷하고 자전거가 1km 거리를 주행하는 데 1리터의 연료를 소비한다고 가정할 수 있습니다. 따라서 n 대의 자전거가 같은 지점에서 출발하여 평행하게 달리면 100km만 갈 수 있습니다. 이 경우 우리의 목표는 최소 연료로 최대 거리를 이동하는 것입니다. 그리고 연료의 최소 낭비는 사용된 자전거의 최소 수를 의미합니다. 자전거가 연속적으로 달리면 더 많은 거리를 커버하는 데 도움이 됩니다. 그래서 우리는 마지막 자전거에서 다른 자전거로 일정량의 연료를 옮기고 특정 시점 이후에는 마지막 자전거를 운행하지 않습니다. 그러나 이제 문제는 최대 거리를 커버하고 나머지 자전거의 연료 탱크가 넘치지 않도록 연료 이송을 수행해야 하는 거리입니다.

따라서 입력이 n =3이고 연료 =100인 경우 출력은 183.33

이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • Covered_diatance :=0

  • n> 0은 0이 아닌 경우 수행

    • Covered_diatance :=Covered_diatance + (연료 / n)

    • n :=n - 1

  • Covered_diatance 반환

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def maximum_distance(n, fuel):covered_diatance =0 while (n> 0):covered_diatance =covered_diatance + (fuel / n) n =n - 1 return locked_diatancen =3fuel =100print(maximum_distance(n, fuel)) 

입력

3, 100

출력

183.33333333333334