728x90
320x100
2745번: 진법 변환
B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를
www.acmicpc.net
반응형
📌 접근 방법
⚡ 진법 변환
✔ 2진법인 수를 10진법으로 변환
4372 ➡ 4x2³ + 3x2² + 7x2¹ + 2x2⁰
✔ 5진법인 수를 10진법으로 변환
19483 ➡ 1x5⁴ + 9x5³ + 4x5² + 8x5¹ + 3x5⁰
✔ 3진법인 수를 10진법으로 변환
46202 ➡ 4x3⁴ + 6x3³ + 2x3² + 0x3¹ + 2x3⁰
➡ n진법의 경우도 동일하게 적용됨
✅ Pass Code
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{
string N="";
int B;
cin>>N>>B;
int a=0, total=0, tmp=N.length()-1;
for(int i=0; i<N.length(); i++){
if(N[i]>='0'&&N[i]<='9'){
a=N[i]-'0';
}
else if(N[i]>='A'&&N[i]<='Z'){
a=N[i]-55;
}
total+=(pow(B,tmp)*a);
tmp--;
}
cout<<total<<endl;
return 0;
}
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/020.gif)
728x90
반응형
'Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ/백준/C++] 2869번 달팽이는 올라가고 싶다 (0) | 2024.01.26 |
---|---|
[BOJ/백준/C++] 1193번 분수찾기 (1) | 2024.01.26 |
[BOJ/백준/C++] 2903번 중앙 이동 알고리즘 (1) | 2024.01.26 |
[BOJ/백준/C++] 2563번 색종이 (0) | 2024.01.26 |
[BOJ/백준/C++] 15552번 빠른 A+B (1) | 2024.01.26 |