0
0

More than 1 year has passed since last update.

paizaラーニング「10 進数から M 進数に変換 Python3編」

Posted at

私の解答

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 進数に変換することができました

文字列を反転させるという方法を取っていました。色々な書き方があるんですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0