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

Pythonを使用してボックス内のボールの最大数を見つけるプログラム


lからrまでの番号が付けられたn個のボール(両方を含む)があり、1から無限までの番号が付けられたボックスの数が無限であるボールファクトリーがあるとします。したがって、ボールの番号の桁の合計と同じ番号のボックスに各ボールを入れると、 (例として、ボール番号123はボックス番号1 + 2 + 3 =6に入れられます)。したがって、2つの値lとrがある場合、ボールが最も多いボックス内のボールの数を見つける必要があります。

したがって、入力がl =15 r =25のような場合、出力は2になります。

  • ボール番号15は1+5=6の中に入れられます

  • ボール番号16は1+6=7の中に入れられます

  • ボール番号17は1+7=8の中に入れられます

  • ボール番号18は1+8=9の中に入れられます

  • ボール番号19は1+9=10の中に入れられます

  • ボール番号20は2+0=2の中に入れられます

  • ボール番号21は2+1=3の中に入れられます

  • ボール番号22は2+2=4の中に入れられます

  • ボール番号23は2+3=5の中に入れられます

  • ボール番号24は2+4=6の中に入れられます

  • ボール番号25は2+5=7の中に入れられます

したがって、ボックス6と7には最大数のボールが含まれているため、答えは2です

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

  • dict:=新しい地図

  • lからrの範囲のiの場合、実行します

    • 合計:=0

    • iの各桁jについて、実行します

      • 合計:=合計+ j

    • 合計がdictに存在しない場合は、

      • dict [合計]:=0

    • dict [total]:=dict [total] + 1

  • dictのすべてのキーのすべての値の最大値を返す

例(Python)

理解を深めるために、次の実装を見てみましょう-

def solve(l, r):
   dict={}
   for i in range(l, r+1):
      total=0
      for j in str(i):
         total += int(j)
      if(total not in dict):
         dict[total] = 0
      dict[total] += 1
   return max([dict[i] for i in dict])

l = 15
r = 25
print(solve(l, r))

入力

15, 25

出力

1

  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プログラムは最大3つ。

    3つの数abとcが与えられた場合、私たちのタスクは、与えられた数の中から最大の要素を見つけなければならないということです。 例 Input: a = 2, b = 4, c = 3 Output: 4 アルゴリズム Step 1: input three user input number. Step2: Add three numbers to list. Step 3: Using max() function to find the greatest number max(lst). Step 4: And finally we will print maximum numbe