Dailelog

4673번 셀프 넘버 본문

알고리즘

4673번 셀프 넘버

Daile 2022. 7. 7. 16:24

#include <iostream>
using namespace std;

bool num[10001];

int getSetNum(int n, int& a, int& b, int& c, int& d)
{
int setNum1 = 0;
int setNum10 = 0;
int setNum100 = 0;
int setNum1000 = 0;
int x = 1000;

setNum1000 = n / x;
setNum100 = n - x * setNum1000;
int i = n - x * setNum1000;
x /= 10;
setNum100 /= x;
setNum10 = i - (x * setNum100);
i = i - (x * setNum100);
x /= 10;
setNum10 /= x;
setNum1 = i - (x * setNum10);

a = setNum1000;
b = setNum100;
c = setNum10;
d = setNum1;

return n, a, b, c, d;
}
int d(int n)
{
int a, b, c, d = 0;

getSetNum(n, a, b, c, d);

n = n + a + b + c + d;

return n;
}

void self_number() {
int temp;
num[1] = false;
for (int i = 0; i < 10000; i++) {
if (i < 10000) {
temp = d(i);
if (temp < 10000)
num[temp] = true; //selfnum은 생성자가 없는 수라서 d(n)에 모든 수를 ture
                      //로 만들고 false를 출력해주면 된다.
}
}
}



int main()
{
self_number();
for (int i = 1; i < 10000; i++)
if (!num[i])
cout << i << endl;
}

반응형
LIST

'알고리즘' 카테고리의 다른 글

2941 크로아티아 알파벳 - java  (0) 2023.02.10
1475 방번호 -java 완  (0) 2023.02.10
10807 개수 세기 - java  (1) 2023.02.06
10828번 스텍 JAVA  (0) 2023.02.02
백준 알고리즘-C-2562번:최댓값  (3) 2022.04.20