728x90
문제번호 11005번 진법 변환 2
첫째 줄에 N B가 주어진다. 첫째 줄에 10진법 수 N을 B진법으로 출력해야 한다.
답안 :
1 N, B = map(int,input().split())
2 quo, remain = N, 0
3 Bjin = []
4 while quo >= B :
5 quo, remain = quo // B, quo % B
6 Bjin.append(remain)
7 Bjin.append(quo)
8 for a in range(len(Bjin)) :
9 if 35 >= Bjin[a] >= 10 :
10 Bjin[a] = chr(Bjin[a]+55)
11 Bjin = Bjin[::-1]
12 for x in Bjin :
13 print(x, end='')
14 print()
comment :
# 입력을 받아주고, 몫과 나머지를 받기 위한 변수를 설정해준다.
# B진법으로 만드는 과정은 B보다 작아질 때까지 계속해서 나누어주면서 나머지를 반대로 적는 것이다. 그러므로 나눌 때마다 나머지를 리스트에 저장하면 된다. 마지막으로 B보다 작아진 경우에는 몫을 리스트에 넣어준다.
# 10 이상인 숫자들은 문자열로 변환해주는 반복문을 설정해주고, 거꾸로 되어있는 나머지에 대한 리스트를 뒤집어준 후 출력해준다.
728x90
'프로그래밍 > 파이썬 python' 카테고리의 다른 글
단계별로 풀어보기 8 - 일반 수학 1(4) (0) | 2023.08.10 |
---|---|
단계별로 풀어보기 8 - 일반 수학 1(3) (0) | 2023.08.09 |
단계별로 풀어보기 7 - 2차원 배열(3), 8 - 일반 수학 1(1) (0) | 2023.08.07 |
단계별로 풀어보기 7 - 2차원 배열(2) (0) | 2023.08.06 |
단계별로 풀어보기 6 - 심화 1 (4), 7 - 2차원 배열(1) (0) | 2023.08.05 |