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

Pythonで指定された文字列シーケンスルールに従った後、n番目のシーケンスを見つけるプログラム


2つの文字列s、tがあり、別の正の数nも与えられているとすると、シーケンスAのn番目の項を返す必要があります。ここで-

  • A [0] =s
  • A [1] =t
  • A [n] =A [n-1] + A [n-2] nが偶数の場合、それ以外の場合はA [n] =A [n-2] +A[n-1]。

例として、s="a"およびt="b"の場合、シーケンスAは-["a"、 "b"、 "ba"( "a" + "b")、 "bba"( "b" + "ba")、 "bbaba"( "bba" + "ba")]

したがって、入力がs ="pk"、t ="r"、n =4の場合、出力は "rrpkrpk"

になります。

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

  • nが0と同じ場合、
    • return s
  • それ以外の場合、nが1と同じ場合、
    • return t
  • a:=s、b:=t
  • 2からnの範囲のiについては、
    • i mod 2が0と同じ場合、
      • c:=b連結a
    • それ以外の場合、
      • c:=連結b
    • a:=b
    • b:=c
  • return c

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

class Solution:
   def solve(self, s, t, n):
      if n == 0:
         return s
      elif n == 1:
         return t
         a = s
         b = t
      for i in range(2, n+1):
         if i%2 == 0:
            c = b + a
         else:
            c = a + b
            a = b
            b = c
      return c
ob = Solution()
print(ob.solve("pk", "r", 4))
>

入力

"pk", "r", 4

出力

rrpkrpk

  1. 指定された文字列が母音回文であるかどうかを確認するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列(母音と子音の両方の文字を含む)が与えられ、すべての子音を削除してから、結果の文字列が回文であるかどうかを確認します。 ここでは、最初に文字列に存在するすべての子音を削除します。各値を1から計算された最小値まで除算することによって計算されて除数を計算するループ 条件が真であると評価されるたびに、カウンターは1ずつ増加します。 文字列内のすべての子音を削除します。ここで、母音の文字列が回文であるかどうか、つまり、指定された文字列とその反転が同一であるかどうかを確認します。それがpalindromep

  2. 指定された文字列がパングラムであるかどうかを確認するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列入力が与えられた場合、その文字列がパングラムであるかどうかを確認するPythonプログラムを生成する必要があります。 パングラムは、英語のアルファベットコレクションのすべての文字を含む文/一連の単語です。 では、問題を解決する方法を見てみましょう 入力文字列に存在する各文字が、手動で宣言するアルファベットセットに属しているかどうかをチェックするループを使用します。 上記のアプローチの実装は、-によって与えられます。 例 import string def ispangram