[Algorithm] 셀프 넘버
Project/Dev Story2017. 11. 8. 09:24
어떤 자연수 n이있을때 d(n)을 n의 각 자릿수 숫자들과 n자신을 더한 숫자라고 정의한다.
예를 들어 d(91)=9+1+91=101
이때, n을 d(n)의 제네레이터(generator)라고 한다. 위의 예에서 91은 101의 제네러이터이다.
어떤 숫자들은 하나 이상의 제네레이터를 가지고 있는데, 101의 제네레이터는 91뿐 아니라 100도 있다. 그런데 반대로, 제네레이터가 없는 숫자들도 있으며, 이런 숫자를 인도의 수학자 Kaprekar가 셀프 넘버(self-number)라 이름 붙였다. 예를 들어 1,3,5,7,9,20,31은 셀프 넘버들이다.
이제 문제를 내겠다. 1 이상이고 5000보다 작은 모든 셀프 넘버들의 합을 구하는 프로그램을 작성하라.
이 문제는 게임 회사인 넥슨의 입사문제라고 알려진 문제들 중 제일 쉬운 것이다.
'Project > Dev Story' 카테고리의 다른 글
[Algorithm] 재귀 함수 기초 2 (0) | 2017.11.07 |
---|---|
[Algorithm] 재귀 함수 기초 1 (0) | 2017.11.06 |
[Algorithm] 1부터 n까지 더하는 알고리즘의 설계 (0) | 2017.08.26 |
[OpenBCI] 뇌파로 마인크래프트의 스티브 움직이기 (1) | 2017.08.03 |
[OpenBCI] Cython 보드 Windows 10에 설치하기 (3) | 2017.08.01 |