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

Pythonのショップで特別割引付きの最終価格を見つけるプログラム


price[i]がショップのi番目のアイテムの価格を表すpricesという配列があるとします。特別オファーがあります。i番目のアイテムを購入すると、prices [j]と同等の割引が適用されます。ここで、jは、j> iであり、j番目のアイテムの価格がi番目のアイテム(つまり、prices [j] <=price [i])、それ以外の場合、割引はまったく受けられません。特別割引を考慮して、i番目の要素がショップのi番目のアイテムに支払う最終価格である配列を見つける必要があります。

したがって、入力がprices =[16,8,12,4,6]のようである場合、item0の価格は16であるため、出力は[8、4、8、4、6]になり、次のようになります。 price [1] =8に相当する割引の場合、最終価格は8-4 =4になります。item1の場合、price [1]が8の場合、prices [3] =2に相当する割引が適用されるため、最終的な支払う価格は8-4=4です。price[2]のアイテム2の場合は12で、prices [3] =4と同じ割引値が得られるため、最終的に支払う価格は12-4 =8.アイテム3と4については、割引は受けられません。

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

  • 0から価格のサイズまでの範囲のiについては、実行してください

    • i + 1から価格のサイズまでの範囲のjについては、次のようにします

      • 価格[i]>=価格[j]の場合、

        • 価格[i]:=価格[i]-価格[j]

        • ループから出てきます

      • それ以外の場合

        • j:=j + 1

  • 返品価格

例(Python)

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

def solve(prices):
   for i in range(len(prices)):
      for j in range(i+1,len(prices)):
         if(prices[i]>=prices[j]):
            prices[i]-=prices[j]
            break
         else:
            j+=1
   return prices

prices = [16,8,12,4,6]
print(solve(prices))

入力

[16,8,12,4,6]

出力

[8, 4, 8, 4, 6]

  1. Pythonで同じ製品のタプルを見つけるプログラム

    一意の正の値を持つ配列numがあるとすると、a * b =c * dとなるタプル(a、b、c、d)の数を見つける必要があります。ここで、a、b、c、およびdはnumの要素です。 、およびすべての要素a、b、c、およびdは別個のものです。 したがって、入力がnums =[2,3,4,6]のような場合、(2,6,3,4)、(2,6,4,3)のようなタプルを取得できるため、出力は8になります。 、(6,2,3,4)、(6,2,4,3)、(3,4,2,6)、(4,3,2,6)、(3,4,6,2) 、(4,3,6,2)。 これを解決するには、次の手順に従います- dic:=空のマップ。キーが存在

  2. Pythonの特定のグラフで特別なタイプのサブグラフを見つけるプログラム

    頭と足という名前の2つのタイプの頂点を持つ特別なタイプのグラフがあるとします。グラフにはヘッドが1つだけあり、ヘッドを各足に接続するk個のエッジがあります。したがって、無向、無加重のグラフが与えられた場合、グラフの頂点が互いに素なサブグラフで、これらの特殊なタイプのグラフを見つける必要があります。共通の頂点がない場合、2つのグラフは頂点が互いに素であると言われます。 したがって、入力が次のような場合 ノード数(n)=5、フィート数(t)=2の場合、出力は5になります。 与えられたグラフの頂点が互いに素なサブグラフであるそのような特別なグラフが5つある可能性があります。 これを解決