10진수로 입력을 받아 n진수로 출력하는 문제였다.
코드를 짜는 건 간단하지만 10진수 -> n진수
변환과정이 이해가 잘 안돼서 어려웠다.
10진수/n진수
나머지 : 1의자리수 (가장 최근의 것이 가장 앞에 저장된다.)
몫 : 이후 계산할 10진수가 된다.
from string import ascii_uppercase
x1,x2 = input().split(" ")
x2 = int(x2)
x1 = int(x1)
list_36 = list(str(r) for r in range(10)) + list(ascii_uppercase)
list_x = list_36[:x2]
y_list =[]
while (x1 > 0) :
y_list.append(list_x[x1 % x2])
x1 = x1 // x2
y_list = y_list[::-1]
str = ''.join(y_list)
print(str)
나는 앞에서 나머지를 단순히 뒤에 저장했다.
따라서 출력전에 문자열을 뒤집었다.
그러나 애초에 앞에 넣어줄 수도 있다.
y_list.insert(0,list_x[x1 % x2])
from string import ascii_uppercase
x1,x2 = input().split(" ")
x2 = int(x2)
x1 = int(x1)
list_36 = list(str(r) for r in range(10)) + list(ascii_uppercase)
list_x = list_36[:x2]
y_list =[]
while (x1 > 0) :
y_list.insert(0,list_x[x1 % x2])
x1 = x1 // x2
str = ''.join(y_list)
print(str)
str = ''.join(y_list)