일시 및 장소
- 2024년 1월 9일 화요일 19시 00분 ~ 22시 00분 (3시간)
- discord 팀 채널
목표
코드트리 시뮬레이션 - Notation 문제 풀기
1. 여러가지 진수변환
2. 십진수와 이진수 2
3. 진수 to 진수
#include <iostream>
using namespace std;
int main() {
int N, B, cnt = 0;
int bin[20] = {0};
cin >> N >> B;
while(true) {
if (N < B) {
bin[cnt++] = N;
break;
}
bin[cnt++] = N % B;
N = N / B;
}
for (int i = cnt-1; i >= 0; i--) {
cout << bin[i];
}
return 0;
}
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int N;
int res = 0, cnt = 0;
int bin[20] = {0};
cin >> N;
// Decimal
while(true) {
if (N <= 0) break;
int first = N % 10;
res += first * pow(2, cnt++);
N /= 10;
}
res *= 17;
// Binary
cnt = 0;
while(true) {
if (res <= 0) {
bin[cnt] = res / 2;
break;
}
bin[cnt++] = res % 2;
res /= 2;
}
// print
for (int i = cnt-1; i >= 0; i--) {
cout << bin[i];
}
return 0;
}
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a, b, n, cnt = 0, dec = 0;
int bin[20] = {0};
cin >> a >> b >> n;
// Decimal
while(true) {
if (n < a) {
dec += n * pow(a, cnt);
break;
}
int first = n % 10;
dec += first * pow(a, cnt++);
n /= 10;
}
// transformation
cnt = 0;
while(true) {
if (dec < b) {
bin[cnt] = dec;
break;
}
bin[cnt++] = dec % b;
dec /= b;
}
// print
for (int i = cnt; i >= 0; i--) {
cout << bin[i];
}
return 0;
}
느낀점
기본적으로 세 문제 다 진법변환을 하는 문제이지만, 조금씩 다른 방법으로 풀어보기 위해 이전에 작성하였던 코드는 보지 않고 풀었다.
그래서 시간은 꽤 소모됐던 것 같지만 문자열로 바꾸어서 풀어보기도 하고 while 문으로 조건을 조금씩 바꾸어서 풀어도 보았기 때문에 다음번에도 이러한 유형의 문제가 나온다면 빠르게 해결할 수 있을 것 같다.
'모각코' 카테고리의 다른 글
[모각코] 2024 동계 모각코 06회차 (0) | 2024.02.06 |
---|---|
[모각코] 2024 동계 모각코 05회차 (0) | 2024.02.02 |
[모각코] 2024 동계 모각코 04회차 (0) | 2024.01.30 |
[모각코] 2024 동계 모각코 03회차 (0) | 2024.01.16 |
[모각코] 2024 동계 모각코 01회차 (1) | 2024.01.02 |