[LV1/python] 약수의 개수와 덧셈

nut3lla·2022년 6월 27일
0

Programmers

목록 보기
47/74

문제 설명

두 정수 leftright가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.

제한사항

1 ≤ leftright ≤ 1,000

입출력 예


SOLVE

def cal(n):
    if n==1:
        return -1
    num=2
    for i in range(1,n//2+1):
        if n%i==0:
            num+=1
    return 1 if num%2 else -1
def solution(left, right):
    num=0
    for i in range(left,right+1):
        num+=i*cal(i) 
    return num
  • cal(n) : 정수 n의 약수 개수를 구해 짝수개면 +1, 홀수개면 -1을 리턴
profile
🦴피곤행🦴

0개의 댓글