반응형
문제
어떤 자연수 n이 주어졋을때 그 자연수의 약수의 개수를 구하여라.
입력 설명
자연수 n을 입력받아라.
출력 설명
자연수 n의 약수의 개수를 출력하라.
입력 예제
20
출력 예제
6
답
n = int(input())
count = 0
for i in range(1, n+1):
if n%i == 0:
count += 1
print(count)
해석
먼저 자연수 n을 받을 변수 'n'을 선언한 뒤 계산을 해주기 위해 int() 형식으로 바꾸어 줍니다.
그리고 약수의 개수를 셀 변수 count를 선언하고, for문을 1부터 n까지 반복합니다.
그런데 왜 n뒤에 +1을 붙일까요? B시리즈 강좌에서도 설명했듯이 'range'함수는 값에서 -1을 해주기 때문에 20 - 1 = 19이기 때문에 +1을 해주었습니다.
만약 n을 i로 나눈 나머지가 '0'이라면 count변수에 1을 더합니다. 마지막으로 print() 함수로 count변수를 출력해주면 20의 약수인 6이 나오게 됩니다.
반응형
'Learning > Algorithm' 카테고리의 다른 글
파이썬 알고리즘_#02_버블정렬 (12) | 2020.06.08 |
---|
댓글