[Baekjoon] 10829. バイナリフォーマットコピー[B 2]


📚 質問する


自然数Nを与える.Nを2進数に変換して出力プログラムを作成してください.
入力:最初の行は自然数Nを与えます.(1 ≤ N ≤ 100,000,000,000,000)
出力:Nをバイナリ出力に変換します.この整数はゼロから始まることはできません.
入力例1
53
サンプル出力1
110101
再帰関数で解決してみます.
10進数を2進数に変換するには、2に分割するたびに残りの値を保存します.
関数を再呼び出すたびにビット数を変更する必要があるため、関数に10を乗じて再呼び出す.
最後の1が残ったときに最後の位置に貼ればいいので、1に戻ります.

📒 コード#コード#

N = int(input())

def jinsu2(num):
    if num == 1:
        return 1
    else:
        return num % 2 + 10 * jinsu2(num//2) 

print(jinsu2(N))

🔍 結果