PS알못 OrbitHv의 PS logo PS알못 OrbitHv의 PS

태그:

6. 함수

문제에서 설명하는 셀프 넘버 중 10000보다 작은 것들을 모두 출력하는 문제입니다. 문제에서 정의한 d(n)을 함수로 정의합니다. 이 함수의 결과값은 항상 매개변수보다 크기 때문에 마치 소수를 걸러내는 에라토스테네스의 체처럼 작은 수부터 비교하여 셀프 넘버인지 아닌지를 확인할 수 있습니다. 길이가 10001인 boolean 배열을 선언한 후, 1부터 10000보다 커지기 전까지 재귀적으로 d(n)를 적용시키면서 나오는 값들은 모두 셀프 넘버가 아님을 배열에 표시하는 방법을 사용하면 됩니다. 그 다음은 2부터, 그리고 3부터, … 해서 남은 수들을 모두 출력합니다.

소스 코드

언어 코드 시간
Python 3 코드(Github) / 코드(백준) 2020-03-25 00:06:35