티스토리 뷰

# 출처 : https://www.acmicpc.net/problem/6679




처음 내 풀이는 어떤 함수에서 입력으로 들어온 수를 특정 진법으로 변환하고 그 후 리턴하는 함수,

리턴받은 수를 자릿수별로 합치는 함수,

그리고 최종 결과를 비교하는 함수 총 3가지로 구성하여 풀었으나 풀고보니 풀이가 쓰레기였다.

그럴 필요없이 진법 변환의 원리 그러니깐 해당 진법의 수로 나눈 나머지끼리의 합을 이용하면 굳이 string을 쓰거나 하지 않아도 풀 수 있었다..




# 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream> 
#include <algorithm>
using namespace std;
 
int calc(int num, int base)
{
    int ret = 0;
    while (num) ret += num % base, num /= base;
    return ret;
}
 
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    for (int i = 1000; i < 10000++i)
    {
        int dec = calc(i, 10);
        if (dec == calc(i, 12&& dec == calc(i, 16))
            cout << i << '\n';
    }
    return 0;
}
 
cs


'ALGORITHM' 카테고리의 다른 글

백준 / 11723번 / 집합 / C++  (0) 2019.02.15
백준 / 14502번 / 연구소 / C++  (0) 2019.02.02
백준 / 2193번 / 이친수 / C++  (0) 2019.01.29
백준 / 11726번 / 2×n 타일링 / C++  (0) 2019.01.29
백준 / 1920번 / 수 찾기 / C++  (0) 2019.01.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함