Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでn台の自転車を使用してカバーされる最大距離を見つける


n台の自転車があり、完全に燃料が供給されている場合、それぞれが100kmを走行できるとします。これらのn台の自転車を使用して移動できる最大距離を見つける必要があります。ここでは、すべての自転車が類似しており、自転車が1kmの距離をカバーするために1リットルの燃料を消費すると想定できます。したがって、n台の自転車が同じ地点から開始して平行に走行する場合、100 kmしか走行できません。この場合、目標は最小の燃料で最大距離をカバーすることです。また、燃料の無駄を最小限に抑えることは、使用する自転車の数を最小限に抑えることを意味します。自転車が連続して走る場合は、より多くの距離をカバーするのに役立ちます。そのため、最後の自転車から別の自転車に一定量の燃料を移し、特定の時点以降は最後の自転車を走らせません。しかし今、問題は、最大距離がカバーされ、残りのバイクの燃料タンクがオーバーフローしないように、燃料移送を実行する必要がある距離です。

したがって、入力がn=3およびfuel=100の場合、出力は183.33

になります。

これを解決するには、次の手順に従います-

  • Covered_diatance:=0

  • n> 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 covered_diatance
n = 3
fuel = 100
print(maximum_distance(n, fuel))

入力

3, 100

出力

183.33333333333334

  1. Pythonを使用して最大の確率でパスを見つけるプログラム

    n個のノード(ノードには0から番号が付けられます)を持つ無向加重グラフがあるとします。このグラフは、エッジリストを使用して入力として与えられ、各エッジeについて、そのエッジ確率[e]を通過する成功の確率があります。開始ノードと終了ノードもあります。最初から最後まで成功の確率が最大のパスを見つけて、成功の確率を返す必要があります。パスが見つからない場合は、0を返します。 したがって、入力が次のような場合 ノード0から2へのパスが2つあるため、出力は0.24になります。1つは確率0.2、もう1つはノード1を経由するパスの確率は0.4 * 0.6 =0.24で、これが最大です。 これを解

  2. Pythonで等距離でアイテムを収集するためにカバーされる距離を見つける

    1つのレースが開催されるとします。道路にさまざまな石が置かれている場所。レースの開始点に1つのバケツがあります。これは、最初の石から6ユニット離れています。他の石は4単位離れており、次々と一列に並んでいます。さて、参加者はバケツから始めて、最も近い石を集め、戻ってその石をバケツに入れます。その後、再び走って次の最も近い石を集め、戻ってバケツに入れます。このプロセスは、すべての石がバケツに入れられるまで続けられます。石がn個ある場合は、参加者がカバーする必要のある合計距離を見つける必要があります。 したがって、入力がn =5の場合、出力は2 * 6 + 2(6 + 4)+ 2(6 + 4