본문 바로가기

Programming/Algorithm

[C++]백준 4673번:셀프 넘버

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


#include <iostream>

using namespace std;


int d(int n);


int main() {

int number[10000] = { 0 };


for (int i = 1; i < 10000; i++) {

int n = 0;

n = d(i);

if (n <= 10000) number[n - 1]++;

}

for (int j = 0; j < 10000; j++)

if (number[j] == 0) 

cout << j + 1<<'\n';

}

int d(int n) {

int sum = n;

int digit[5] = { 0 };

digit[0] = n % 10;

digit[1] = (n / 10) % 10;

digit[2] = (n / 100) % 10;

digit[3] = (n / 1000) % 10;

digit[4] = n / 10000;

for (int i = 0; i < 5; i++)

sum += digit[i];

return sum;

}