2019.07.17. 2일차
사서 고생하기 - 1일 1코딩 프로젝트
-
셀프넘버 판별
양의 정수 n에 대하여, F(n) = n + n의 각 자리 숫자 로 정의되는 함수가 있습니다.
예를들어 F(12) = 12 + 1 + 2 = 15 입니다.
양의 정수 n에 대하여 한가지 아래와 같은 무한한 수열을 생각해봅시다.
n, F(n), F(F(n)), F(F(F(n))), ...
예를들어 n이 12일때, 12, 15, 21, 24, 30, 33, ... 이렇게 진행됩니다.
위의 수열에서, 12는 15의 생성자이고, 21은 24의 생성자로 정의 합니다.
또한, 어떤 숫자의 생성자는 2개일 수도 있는데 예를들어 101의 생성자는 91과 100이 있습니다.
어떤 숫자는 생성자가 없을수도 있는데, 이 수를 인도의 수학자 D. R. Kaprekar는 "셀프넘버"라고 명명했습니다.
1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, 97은 셀프넘버 입니다.
양의 정수 int a가 주어졌을때, int a의 생성자의 개수를 리턴하세요.
fn이라는 함수를 통해 각 자리수를 얻어내고 셀프넘버를 판별하였다.
'일일 스터디노트' 카테고리의 다른 글
사서 고생하기 | 6일차 | 정렬하기 (0) | 2019.07.25 |
---|---|
사서 고생하기 | 5일차 | 수열 중복 제거 (0) | 2019.07.25 |
사서 고생하기 | 4일차 | 잔액 계산 (0) | 2019.07.25 |
사서 고생하기 | 3일차 | 큐만들기 (0) | 2019.07.25 |
사서 고생하기 | 1일차 | 13구하기 (0) | 2019.07.25 |