Dailelog
4673번 셀프 넘버 본문
#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;
}
'알고리즘' 카테고리의 다른 글
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 |