Pythonで最小数の10進数に分割するプログラム
文字列形式の数値nがあるとします。合計がnに等しくなるように、必要な最小の10進数を見つける必要があります。 10進数は、0または1のいずれかの桁を持つ10進数です。
したがって、入力がn ="132"の場合、132は3つの10進数(10 + 11 + 111)の合計であるため、出力は3になります。
これを解決するには、次の手順に従います-
- 結果:=1
- nの各iについて、
- iが{0,1}にいない場合は、
- result:=結果とiの最大値
- iが{0,1}にいない場合は、
- 結果を返す
例
理解を深めるために、次の実装を見てみましょう-
def solve(n): result = 1 for i in n: if i not in {0,1}: result = max(result, int(i)) return result n = "132" print(solve(n))
入力
132
出力
3
-
連続する1’のないバイナリ文字列の数をカウントするPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −正の整数Nが与えられているので、文字列に連続する1が存在しないように、長さNで使用可能なすべての可能な個別のバイナリ文字列をカウントする必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # count the number of strings def countStrings(n): a=[0 for i in range(n)] b=[0 for i in range(n)] a[0] = b[0]
-
10進数を2進数に変換するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 数値を指定すると、2進数に変換する必要があります。 アプローチ1-再帰的ソリューション DecToBin(num): if num > 1: DecToBin(num // 2) print num % 2 例 def DecimalToBinary(num): if num > 1: Decimal