10進数の8進数の16進数と最初のn個の数値の2進数を出力するPythonプログラム
値nがあるとします。最初のn個の数値(1からn)に相当する10進数、8進数、16進数、および2進数を4つの異なる列に出力する必要があります。ご存知のように、10進数、8進数、16進数、10進数のそれぞれについて、接頭文字d、o、X、bを使用して数値を表すことができます。
したがって、入力がn =10の場合、出力は
になります。1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010
これを解決するには、次の手順に従います-
- l:=(nに相当する2進数の長さ)-2
- 1からnの範囲のiについては、
- f:=空白の文字列
- 「doXb」の各文字cについて、do
- fが空でない場合、
- f:=fは1つの空白スペースを連結します
- f:=f + lを文字列として変換し、cを連結して右揃えのフォーマット文字列
- fが空でない場合、
- フォーマットされた文字列fにiを4回渡して、行を出力します
例
理解を深めるために、次の実装を見てみましょう
def solve(n): l = len(bin(n)) - 2 for i in range(1, n + 1): f = "" for c in "doXb": if f: f += " " f += "{:>" + str(l) + c + "}" print(f.format(i, i, i, i)) n = 10 solve(n)
入力
10
出力
1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010
-
16進文字列を10進数に変換するPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 16進文字列が与えられたので、それを10進数に変換する必要があります。 問題を解決するための2つのアプローチがあります- ブルートフォースアプローチ 組み込みモジュールの使用 ブルートフォース方式 ここでは、明示的な型キャスト関数、つまり整数を利用します。この関数は、2つの引数、つまり16進数と同等の引数とベース(16)を取ります。この関数は、16進文字列を整数型の同等の10進数に変換するために使用されます。これは、さらに文字列形式に型キャストして戻すことができます。 例 #input strin
-
Pythonプログラムで10進数を2進数に変換する
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 10進数が与えられているので、それに相当する2進数に変換する必要があります。 与えられた問題を解決するための2つのアプローチがあります。それらを1つずつ見てみましょう- 再帰的アプローチ 例 def DecimalToBinary(num): if num > 1: DecimalToBinary(num // 2) print(num % 2, end = '') # main if _