숫자 N을 A진수로 바꾸는 방법을 알아보겠습니다.
이 글은 머리로 진수를 바꿀 수 있는 사람이 보시기에 좋습니다.
생각을 코드로 어떻게 짜지? 고민하시는 분들이 보세요.
방법은 N%A를 하는 것입니다. 나머지를 구하면 N = N/A 도 해줍시다.
4를 2진수로 변경하면 100 입니다.
4%2 = 0 -> 4/2 = 2
2%2 = 0 -> 2/2 = 1
1%2 = 1 -> 1/2=0 (0.5지만 다운 캐스팅됨)
0, 0, 1로 나온 값을 거꾸로 보면 100 입니다.
#include <iostream>
#include <string>
std::string dec(int N, int A)
{
std::string result;
while(N)
{
result+=std::to_string(N%A);
N/=A;
}
std::reverse(result.begin(), result.end());
return result;
}
int main()
{
int N, A;
std::cin >> N >> A;
std::cout << dec(N, A);
return 0;
}