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

Pythonで指定されたNから回文文字列を作成できるかどうかを確認します


数nがあるとします。その番号からアルファベットの小文字の文字列を作成できるかどうかを確認し、その文字列が回文であるかどうかを確認する必要があります。ここでは、aからjまでの文字[a =0、b =1 ... j=9]のみを取り上げます。したがって、数値が42の場合、サブストリング「ec」は6(4 + 2)文字の「ececec」まで出力されます。これが回文であるかどうかを確認してください。

したがって、入力がn =43のような場合、出力はTrueになり、文字列は「ededede」であり、これは回文です。

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

  • temp:=空白の文字列
  • s:=n as string
  • 文字:=aからjまでのすべての文字
  • 合計:=0
  • substr:=空白の文字列
  • 範囲0からs-1のサイズのiの場合、do
    • d:=s[i]を数字として
    • substr:=substr連結文字[d]
    • 合計:=合計+ d
  • tempのサイズ<=合計、do
    • temp:=temp concatenate substr
  • temp:=temp[インデックス0から合計-1]
  • tempが回文の場合はtrueを返し、それ以外の場合はfalseを返します

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

def isPalindrome(s):
   return s == s[::-1]
def solve(n):
   temp = ""
   s = str(n)
   letters = "abcdefghij"
   sum = 0
   substr = ""
   for i in range(len(s)) :
      d = int(s[i])
      substr += letters[d]
      sum += d
   while len(temp) <= sum:
      temp += substr
   temp = temp[:sum]
   return isPalindrome(temp)
n = 43
print (solve(n))

入力

43

出力

True

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

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

  2. 指定された文字列からすべての可能な有効なIDアドレスを生成するPythonプログラム

    文字列が与えられます。文字列には数字のみが含まれます。私たちのタスクは、考えられるすべての有効なIPアドレスの組み合わせを確認することです。 ここでは、最初に文字列の長さを確認してから、「。」で分割します。次に、「。」のさまざまな組み合わせを確認します。 例 Input : 255011123222 Its not a valid IP address. Input : 255011345890 Valid IP address is 255.011.123.222 アルゴリズム Step 1: First check the length of the string. Step 2: