Pythonで長さnのすべての逆さまの数を見つけるプログラム
値nがあるとします。長さnのすべての逆さまの数を見つける必要があります。逆さまの数字は、180度反転したときに同じように見えるものです。
したがって、入力がn =2の場合、出力は['11'、' 69'、' 88'、'96']になります。
これを解決するには、次の手順に従います-
-
関数middle()を定義します。これにはx
かかります -
xが0の場合、
-
空白の文字列のリストを返す
-
-
xが1と同じ場合、
-
要素0、1、8の新しいリストを返します
-
-
ret:=新しいリスト
-
mid:=middle(x − 2)
-
真ん中のmごとに、実行します
-
xがnと同じでない場合、
-
retの最後に( "0" concatenate m concatenate "0")を挿入します
-
-
retの最後に( "1" concatenate m concatenate "1")を挿入します
-
retの最後に( "6" concatenate m concatenate "9")を挿入します
-
retの最後に( "8" concatenate m concatenate "8")を挿入します
-
retの最後に( "9" concatenate m concatenate "6")を挿入します
-
-
retを返す
-
メインの方法から、次のようにします-
-
nが0の場合、
-
新しいリストを返す
-
-
それ以外の場合は、middle(n)のソート済みリストを返します
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, n): if not n: return [] def middle(x=n): if not x: return [""] if x == 1: return list("018") ret = [] mid = middle(x - 2) for m in mid: if x != n: ret.append("0" + m + "0") ret.append("1" + m + "1") ret.append("6" + m + "9") ret.append("8" + m + "8") ret.append("9" + m + "6") return ret return sorted(middle()) ob = Solution() print(ob.solve(2))
入力
2
出力
['11', '69', '88', '96']
-
ある間隔ですべての素数を出力するPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −与えられた範囲内のすべての素数を計算するために必要な間隔が与えられます ここでは、解を得るための強引なアプローチ、つまり素数の基本的な定義について説明します。素数は、1とそれ自体を因数として持ち、残りのすべての数はその因数ではない数です。 素数の条件が真であると評価されるたびに、計算が実行されます。 それでは、以下の実装の概念を見てみましょう- 例 start = 1 end = 37 for val in range(start, end + 1): # If num is
-
最大3つの数字を見つけるPythonプログラム
このチュートリアルでは、3つの数字から最大量を見つけるプログラムを作成します。 3つの数字があり、その3つの数字から最大数を見つけることが目標です。 理解を深めるために、いくつかのサンプルテストケースを見てみましょう。 Input: a, b, c = 2, 34, 4 Output: 34 Input: a, b, c = 25, 3, 12 Output: 25 Input: a, b, c = 5, 5, 5 Output: 5 以下の手順に従って、3つの数字の中から最大数を見つけてください。 アルゴリズム 1. Initialise three numbers a, b