문제
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.
Harshad함수는 양의 정수 n을 매개변수로 입력받습니다. 이 n이 하샤드수인지 아닌지 판단하는 함수를 완성하세요.
예를들어 n이 10, 12, 18이면 True를 리턴 11, 13이면 False를 리턴하면 됩니다.
나의 풀이
1 2 3 4 5 6 7 | def Harshad(n): num = str(n) sum_num = sum(map(int, num)) return n % sum_num == 0 # 아래는 테스트로 출력해 보기 위한 코드입니다. print(Harshad(17)) | cs |
다른 사람의 풀이
1 2 3 4 | def Harshad(n): return n % sum(int(i) for i in str(n)) == 0 print(Harshad(18)) | cs |
'Computer Science > Problem Solving' 카테고리의 다른 글
[알고리즘 문제풀이 전략]01-10진수와 16진수 변환 프로그램 by C언어 (0) | 2017.08.18 |
---|---|
[tryhelloworld]JadenCase문자열 만들기 by파이썬 (1) | 2017.08.16 |
[tryhelloworld]딕셔너리 정렬 by파이썬 (0) | 2017.08.16 |
[tryhelloworld]콜라츠 추측 by파이썬 (0) | 2017.08.15 |
[tryhelloworld]두 정수 사이의 합 by파이썬 (0) | 2017.08.15 |