반응형
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 |