일단 먼저 셀프 넘버를 이해하는 데 시간이 걸렸다. d(n)함수는 매개변수로 입력받은 숫자를 각자리 수를 더하고 나온 값이 다음 수열으로 이어지고 또 나온 값이 다음 수열로 이어지는 무한수열이다.
만약 2,4,6,8,10,11,12,13,14,15,16,17,18,19,21,22,.... 161,163 이러한 수열이 있다면 n을 d(n)의 생성자 라고 한다.
즉 2는 4를 만드는 생성자 4는 6을 만드는 생성자 & d(n)함수는 생성자를 구하는 함수라고 생각하면 된다.
여기서 끝난 것이 아니라 생성자가 없는 숫자를 셀프 넘버 라고 한다.
이 셀프 넘버 즉 d(n)함수에 속하지 않는 1~10000의 숫자 를 구하는 게 문제이다.
in 연산자
값이 있는지 확인
not in 연산자
그 반대인 값이 없는지 확인