하샤드 수

Minseok Jeon·2024년 6월 24일

프로그래머스 하샤드 수 문제를 풀었다. 첨에 문제를 보고 생소해서 이게 뭔가 싶어 먼저 하샤드 수에 대해 찾아보았다.

  • 하샤드 수 : 인도의 수학자 카프리카가 정의했으며, '기쁨을 준다'는 뜻의 산스크리트어 단어인 harshad에서 유래했다. 또한 이를 확장시켜서 주어진 진법에서 어떤 수의 각 자리 숫자의 합이 한 자리수가 될 때까지 반복했을 때, 나타나는 수들도 모두 하샤드 수가 되는 수나 어떤 자연수가 그 수의 각 자리 숫자의 합을 한자리수가 될 때까지 반복하여 얻어진 수들로 모두 나누어떨어지는 수의 경우도 생각해볼 수 있으며, 이는 수소와 연관성이 높다. 수소는 주어진 진법에서 각 자리 숫자의 합이 한자리수가 될 때까지 반복했을 때, 거쳐온 수들도 모두 소수가 되는 소수인데, n진법의 경우 p가 n-1의 소인수이라면 각 자리 숫자의 합이 p가 되는 수들은 모두 p의 배수가 되므로 한자리 수까지 반복한 최종 결과 각 자리 숫자의 합은 p-1이 아닌 한자리의 소수인 소수여야 한다.
    [출처: 나무위키]

어... 어쨌든 내가 이해한바로 어떤 수 x에 대해서 x 각 자리의 수를 합한 값으로 나누어 떨어지는 수가 하샤드 수라는 것인데.... 맞는지 모르겠지만 문제를 잘 읽어보면 풀 수 있는 문제였다.

파이썬으로 풀었고 vscode에서 주피터를 사용해 풀이를 진행했다.
주피터를 사용하는 이유는 함수를 만들기 전에 함수 생성을 하지 않고 코드를 미리 짜본 후에 정상 작동을 하면 함수로 바꾸어 코드를 짜는 방식을 예전부터 고수해왔기 때문...ㅎ 여트 주피터를 쓰면 결과값을 바로 볼 수 있어서 편하다.(개인적인 생각...)

오늘은 이렇게 하샤드 수 관련 문제를 풀어보았다. 코드가 길어서 조금 짧게 줄이고 싶은데 아직은 실력이 부족한듯하다... 다른 사람들은 어떻게 풀었나 보면서 공부를 더 해야할듯 싶다...

0개의 댓글