<문제>
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
<풀이>
def solution(x):
y = x
a =[]
while x>0:
a.append(x%10)
x //= 10
if y%sum(a) == 0:
return True
else:
return False
<다른 풀이>
방법 1.
def Harshad(n):
return n % sum([int(c) for c in str(n)]) == 0
방법 2.
def Harshad(n):
st = str(n)
a = 0
for i in range(len(st)):
a += int(st[i])
return True if n%a == 0 else False
<느낀점>
재미가 붙을랑말랑 한다. 아자!!!!!!! 할수 있다!!!!