2~36진법의 수를 10진법으로 변환하는 문제였다.
A가 1임을 고려한다면 딱히 어려운 문제는 아니엇따.
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <math.h>
#include <iostream>
using namespace std;
int main() {
int b;
char n[100000];
long long r = 0;
scanf("%s %d", n, &b);
int count = strlen(n) - 1;
for (int i = 0; i < strlen(n); i++) {
char num = n[i];
if (num >= 'A'&&num <= 'Z') {
r += (num - 55)*pow(b, count--);
}
else {
r += (num - '0')*pow(b, count--);
}
}
cout << r << endl;
}
'Algorithm' 카테고리의 다른 글
백준 2579 계단오르기 (0) | 2020.03.02 |
---|---|
백준 2920 음계 (0) | 2020.03.01 |
백준 2493 탑 (0) | 2020.02.28 |
백준 2208 보석줍기 (0) | 2020.02.28 |
백준 2004 조합 0의 개수 (0) | 2020.02.28 |