백준문제풀이 8단계 일반 수학 1(2) 11005번 진법 변환 2 (C#)
2024. 6. 12. 20:00ㆍ백준 문제풀이/8단계 일반 수학 1
저번 문제와는 반대로 10진수 N을 받고
진법 B로 바꾸는 문제이다.
using System;
using System.Text;
class BackJoon
{
static void Main(string[] args)
{
string[] input = Console.ReadLine().Split();
int N = int.Parse(input[0]);
int baseN = int.Parse(input[1]);
StringBuilder output = new StringBuilder();
while(N > 0)
{
int remain = N % baseN;
if (remain >= 10)
output.Append((char)('A' + (remain - 10)));
else
output.Append(remain);
N /= baseN;
}
for (int i = output.Length - 1; i >= 0; i--)
Console.Write(output[i]);
}
}
10진수의 수를 다른 진법으로 바꾸는 방법은
해당 진법으로 몫이 1이 나올때까지 나누고
1과 나머지를 역순으로 출력해주면 끝이다.
예를 들어 11를 2진법으로 바꾸면
11/2 = 5(나머지 1)
5/2 = 2(나머지 1)
2/2 = 1(나머지 0)
11 = 1011
이번엔 while을 이용해 N이 0보다 클때계속 반복을 돌리자.
N을 진법B로 나눈 나머지값을 remain에 넣어주고
그값이 10보다 클때는 문자로 바꿔서 넣어주고
아닐때는 그냥 넣어주자.
반복이 끝날때 N을 진법 B로 나줘주자.
그리고 마지막으로 해당 문자열을 반대로 출력해주면 끝.
'백준 문제풀이 > 8단계 일반 수학 1' 카테고리의 다른 글
백준문제풀이 8단계 일반 수학 1(6) 1193번 분수찾기 (C#) (1) | 2024.06.17 |
---|---|
백준문제풀이 8단계 일반 수학 1(5) 2292번 벌집 (C#) (0) | 2024.06.16 |
백준문제풀이 8단계 일반 수학 1(4) 2903번 중앙 이동 알고리즘 (C#) (0) | 2024.06.15 |
백준문제풀이 8단계 일반 수학 1(3) 2720번 세탁소 사장 동혁 (C#) (0) | 2024.06.14 |
백준문제풀이 8단계 일반 수학 1(1) 2745번 진법 변환 (C#) (1) | 2024.06.11 |