10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오.
10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다.
A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35
첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다.
첫째 줄에 10진법 수 N을 B진법으로 출력한다.
- 입력
60466175 36- 출력
ZZZZZ
수를 진수로 몫이 진수보다 작아질 때까지 계속 나눠준다. 그리고 작아지면 나머지를 출력하는데 나머지가 10보다 크거나 같으면 문자를, 작으면 숫자를 출력
#include <iostream>
using namespace std;
void ft_change(int n, int b)
{
int a;
if (n >= b)
{
a = n / b;
ft_change(a, b);
}
if (n % b >= 10)
printf("%c", 'A' + (n % b) - 10);
else
printf("%d", n % b);
}
int main()
{
int n, b;
cin >> n >> b;
ft_change(n, b);
return (0);
}
}