• Home
  • About
    • Che1's Blog photo

      Che1's Blog

      Che1's Dev Blog

    • Learn More
    • Facebook
    • Instagram
    • Github
    • Steam
    • Youtube
  • Posts
    • All Posts
    • Django
    • Python
    • Front-end
    • Algorithm
    • etc
    • All Tags
  • Projects

[Level 2] 하샤드 수

11 Oct 2017

Reading time ~1 minute

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.

Harshad함수는 양의 정수 n을 매개변수로 입력받습니다. 이 n이 하샤드수인지 아닌지 판단하는 함수를 완성하세요. 예를들어 n이 10, 12, 18이면 True를 리턴 11, 13이면 False를 리턴하면 됩니다.


내 풀이

def Harshad(n):
    a = str(n)
    h = 0
    for i in range(len(a)):
        h += int(a[i])
    if n % h == 0:
        return True
    else:
        return False

print(Harshad(18))
True

모범 답안

def Harshad(n):
    return n % sum(int(x) for x in str(n)) == 0


Algorithm Share Tweet +1