Programming/백준

[백준] 4673 - 셀프 넘버 (파이썬 / C++)

pental 2020. 4. 9. 20:12


general = set(range(1, 10001))
change = set()

for i in range(1, 10001):
    for j in str(i):
        i += int(j)
    change.add(i)

result = general - change

for i in sorted(result):
    print(i)

#include <bits/stdc++.h>
using namespace std;
bool selfnum[10001];

int main(void) {
    memset(selfnum, true, sizeof(selfnum));
    for(int i=1; i<=10000; ++i) {
        string num = to_string(i);
        int dn=i;
        for(int j=0; j<num.size(); ++j) {
            dn += num[j]-'0';
        }
        if(dn <= 10000)
            selfnum[dn] = false;
    }
    for(int i=1; i<=10000; ++i) {
        if(selfnum[i]) cout << i << "\n";
    }
}