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

Pythonで数値の三角形の行lの最初のイベント番号の位置を見つけるプログラム


以下のような数の三角形を生成していると仮定します

      1
    1 1 1
  1 2 3 2 1
1 3 6 7 6 3 1

ここで、各行の要素は、その上に3つの数字を追加することによって生成されます。ここで、行番号がlの場合。その行の最初の偶数の位置を見つける必要があります。位置の値は1から始まります。

したがって、入力がl =5の場合、出力は2になります

           1
        1  1  1
     1  2  3  2  1
  1  3  6  7  6  3 1
1 4 10 16 19 16 10 4 1

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

  • lが1と同じか、lが2と同じ場合、
    • 戻り値-1
  • それ以外の場合、l mod 2が0と同じ場合、
    • l mod 4が0と同じ場合、
      • リターン3
    • それ以外の場合、
      • リターン4
  • それ以外の場合、
    • リターン2

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

def solve(l):
   if l == 1 or l == 2 :
      return -1
   elif l % 2 == 0:
      if l % 4 == 0:
         return 3
      else:
         return 4
   else:
      return 2

l = 5
print(solve(l))

入力

5

出力

2

  1. Pythonの最初から最後のノードまでの制限されたパスの数を見つけるプログラム

    無向加重連結グラフが1つあるとします。グラフにはn個のノードがあり、1からnまでのラベルが付けられています。開始から終了までのパスは、[z0、z1、z2、...、zk]のようなノードのシーケンスです。ここで、z0は開始ノード、zkは終了ノードであり、ziとzi+1の間にエッジがあります。ここで0<=i dist(zi + 1)(0 <=i <=k-1)も満たす特別なパスです。したがって、ノード1からノードnまでの制限されたパスの数を見つける必要があります。答えが大きすぎる場合は、10 ^ 9+7を法として答えを返します。 したがって、入力が次のような場合 3つの制限されたパス(1,2

  2. リスト内で最大数を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 与えられたリスト入力では、与えられたリストの中で最大の数を見つける必要があります。 ここでは、2つのアプローチについて説明します 並べ替え手法の使用 組み込みのmax()関数を使用する アプローチ1-組み込みのsort()関数を使用する 例 list1 = [18, 65, 78, 89, 90] list1.sort() # main print("Largest element is:", list1[-1]) 出力 Largest element is: