Pythonで銀行にある合計金額を見つけるプログラム
月曜日と言う初日に銀行に1Rを置いたとします。そして、火曜日から日曜日までの毎日、前日より1R多く入れます。そして、その後の毎週月曜日には、前の月曜日よりも1R多く入れます。数字がnの場合、n日目の終わりに銀行にある合計金額を見つける必要があります。
したがって、入力がn =17の場合、出力は75になります。これは、月曜日に1R、火曜日に2Rなど、日曜日に7R、次の月曜日に2R、第2火曜日に3Rを入力するためです。日曜日に8Rを置きます。次に、第3月曜日に3Rを入れ、火曜日に4Rを入れ、水曜日(最終日)に5Rを入れます。したがって、合計は(1 + 2 + 3 + 4 + 5 + 6 + 7)+(2 + 3 + 4 + 5 + 6 + 7 + 8)+(3 + 4 + 5)=75Rs
これを解決するには、次の手順に従います-
-
s:=28
-
res:=0
-
n> 7の場合、
-
res:=s
-
div:=n/7のフロア
-
範囲1からdiv-1のiの場合、実行
-
res:=res + s + 7 * i
-
-
rem:=n mod 7
-
1からremの範囲のiの場合、実行します
-
res:=res + i + div
-
-
-
それ以外の場合
-
1からnの範囲のiの場合、実行します
-
res:=res + i
-
-
-
解像度を返す
例(Python)
理解を深めるために、次の実装を見てみましょう-
def solve(n): s = 28 res = 0 if n>7: res = s div = n//7 for i in range(1,div): res += s+7*i rem = n % 7 for i in range(1,rem+1): res += i+div else: for i in range(1,n+1): res+=i return res n = 17 print(solve(n))>
入力
17
出力
75
-
Pythonですべての出荷を完了するための総コストを見つけるためのプログラム
ポートと呼ばれるリストのリストがあるとします。ここで、ports[i]はポートiが接続されているポートのリストを表します。また、出荷と呼ばれるリストの別のリストがあります。ここで、シーケンス[i、j]の各リストは、ポートiからポートjへの出荷要求があることを示します。また、ポートiからポートjに出荷するコストは、2つのポートからの最短経路の長さであるため、すべての出荷を完了するために必要な合計コストを見つける必要があります。 4からです。 これを解決するために、次の手順に従います- n:=ポートのサイズ dist:=ポートリストからの隣接行列 0からnの範囲のjについては、
-
Pythonで捕まえることができる雨の総量を見つけるためのプログラム
n個の非負の整数の配列があるとします。これらは、各バーの幅が1である高さを表しており、雨が降った後にどれだけの水を捕まえることができるかを計算する必要があります。したがって、マップは次のようになります- ここでは、8つの青いボックスがあることがわかります。したがって、出力は8になります。 これを解決するには、次の手順に従います- スタックst、water:=0およびi:=0を定義します whilei<身長のサイズ =height [i]の場合、iをスタックにプッシュし、iを1増やします それ以外の場合 x:=スタックトップ要素、スタックからトップを削除 スタックが空でない場合