Development./Problem solving.

[BAEKJOON] 4673 - 셀프 넘버

Chuuu_DevCamp:) 2020. 8. 17. 18:58
반응형

https://www.acmicpc.net/problem/4673

size 10000을 가지는 boolean 배열에 1~10000까지 각 자리수의 합을 계산하여, 해당 자리에 flag를 세팅하는 방법으로 구현 했다.

 

#include<iostream>
#define IOS_PREDEFINE() \
( \
    (cin.tie(NULL)), \
    (cout.tie(NULL)), \ 
    (std::ios::sync_with_stdio(false)), \
    (void) 0 \
)
using namespace std;
const int MAX = 10001;
int d(int n)
{
    int sum = 0;
    sum += n;
    int reminder = n;
    while(reminder)
    {
        sum += reminder % 10;
        reminder /= 10;
    }
    return sum;
}
int main()
{
    IOS_PREDEFINE();
    bool flag[MAX] = {false, }; 
    for(int idx = 1; idx < MAX; idx++)
    {
        int retVal = d(idx);
        if(MAX > retVal)
            flag[retVal] = true;
    }
    for(int idx = 1; idx < MAX; idx++)
    {
        if(false == flag[idx])
            cout << idx << '\n';
    }
    
    return 0;
}

'Development. > Problem solving.' 카테고리의 다른 글

[BAEKJOON] 2609 - 최대공약수와 최소공배수  (0) 2020.08.17
[BAEKJOON] 1822 - 차집합  (0) 2020.08.17
[BAEKJOON] 2577 - 숫자의 개수  (0) 2020.08.17
[BAEKJOON] 8958 - OX퀴즈  (0) 2020.08.17
[BAEKJOON] 1065 - 한수  (0) 2020.08.17