私の解答
N,M = map(int,input().split())
shinsu= 0
i = 0
while N > 0:
digit_num = N % M
shinsu += digit_num * pow(10, i)
N //= M
i += 1
print(shinsu)
前の問題の解答例を修正して書きました。
解答例
N, M = map(int, input().split())
base = ""
while N > 0:
base += str(N % M)
N //= M
print(base[::-1])
- N が自然数であれば、M で割った余りを取ると、M 進数に変換した際の M^0 の桁を求めることができます。
- M^0 の位を求めたら N を M で割り、もう一度同じ操作を繰り返すと M^1 の位を求めることができます。
- これを繰り返していくことで N を M 進数に変換することができました
文字列を反転させるという方法を取っていました。色々な書き方があるんですね。