목차
728x90
반응형
- Python에서 약수를 구하는 방식은 여러가지가 있다. 그 중 2가지 방법을 소개한다. 그리고 더 나아가 약수의 합, 약수의 개수 구하는 코드도 함께 설명한다.
1. 기본적인 방식
def divisor(n):
answer = []
for i in range(1, n+1):
if (n % i == 0):
answer.append(i)
return answer
- for문으로 범위를 1부터 최댓값인 자기자신으로 설정한다.
- if문으로 나머지가 0인 수를 구해준다.
- append()함수로 나머지가 0인 수를 배열에 저장해준다.
2. 짝이 되는 수를 고려한 방식
- n의 제곱근까지의 약수를 구하여 짝이되는 약수를 구하고 중복을 제거해주는 방식
def divisor(n):
answer = []
for i in range(1, int(n**(1/2)) +1):
if (n % i == 0):
answer.append(i)
if ((i**2) != n):
answer.append(n//i)
return answer
3. 약수의 합, 개수 구하기
- sum() 함수를 이용해 약수의 합 구하기
def divisor(n): answer = [] for i in range(1, n+1): if (n % i == 0): answer.append(i) return sum(answer)
- 약수의 개수 구하기
def divisor(n): answer = [] count = 0 for i in range(1, n+1): if n % i == 0: count += 1 answer.append(i) return count
728x90
반응형
'Python > Coding Test' 카테고리의 다른 글
[Coding Test] 정수 제곱근 판별 (0) | 2023.05.06 |
---|---|
[Coding Test] x만큼 간격이 있는 n개의 숫자 (0) | 2023.05.06 |
[CodingTest] 문자열 다루기 기본 (0) | 2023.04.12 |
[Coding Test] 제일 작은 수 제거하기 (0) | 2023.04.05 |
[Coding Test] 나머지가 1이 되는 수 찾기 (0) | 2023.02.08 |