백준 11005번 진법 변환 2
< 백준 11005번 진법 변환 2 - 마포 코딩박 >
사용한 알고리즘: 구현
십진법 수 N 을 B진법으로 바꾸어 출력하는 문제입니다.
문제풀이는 다음과 같습니다.
(1) (코드 7~14)
임의의 수 a 를 0,1,2,..,9,A,B,...,Z 로 변환해주는 함수를 만듭니다.
(2) (코드 15~20)
입력받은 수 N 을 B진법으로 바꾸어주는 함수를 만듭니다.
답은 string 형태로 저장할 것이므로 B진법으로 변환한 답의 큰 자리부터 만드는 순서에 유의해줍니다.
사용한 알고리즘: 구현
십진법 수 N 을 B진법으로 바꾸어 출력하는 문제입니다.
문제풀이는 다음과 같습니다.
(1) (코드 7~14)
임의의 수 a 를 0,1,2,..,9,A,B,...,Z 로 변환해주는 함수를 만듭니다.
(2) (코드 15~20)
입력받은 수 N 을 B진법으로 바꾸어주는 함수를 만듭니다.
답은 string 형태로 저장할 것이므로 B진법으로 변환한 답의 큰 자리부터 만드는 순서에 유의해줍니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <bits/stdc++.h> | |
using namespace std; | |
int N, B; | |
string ans; | |
char Change(int a){ | |
char temp; | |
// 수로 표현되는 경우 | |
if(a<10) return temp = a+'0'; | |
// 알파벳으로 표현해야되는 경우 | |
a-=10; | |
return temp = a+'A'; | |
} | |
void MakeAns(int x){ | |
if(x==0) return; | |
// 앞자리 부터 만들기, 순서 유의 | |
MakeAns(x/B); | |
ans+=Change(x%B); | |
} | |
int main(){ios_base::sync_with_stdio(false); cout.tie(NULL); cin.tie(NULL); | |
cin >> N >> B; | |
MakeAns(N); | |
cout << ans << '\n'; | |
return 0; | |
} |
댓글
댓글 쓰기
긴 글 읽어주셔서 감사합니다.
궁금한게 있으시다면 댓글 달아주세요!