이 기사에서 우리는 아래 주어진 문제 설명에 대한 해결책에 대해 배울 것입니다 -
문제 설명
숫자 입력 n이 주어졌을 때 작업은 숫자의 짝수 인수의 합을 찾는 것입니다.
여기서 먼저 모든 이상한 요소를 제거해야 합니다.
숫자 입력이 홀수이면 짝수 요소가 없으므로 직접 0을 반환합니다. 그렇지 않으면 아래 코드의 접근 방식을 따릅니다.
아래는 구현입니다 -
예시
import math # Returns sum of all even factors of n. def sumofFactors(n) : # If n is odd if (n % 2 != 0) : return 0 #all prime factors res = 1 for i in range(2, (int)(math.sqrt(n)) + 1) : count = 0 curr_sum = 1 curr_term = 1 while (n % i == 0) : count= count + 1 n = n // i # here we remove the 2^0 that is 1. All other factors if (i == 2 and count == 1) : curr_sum = 0 curr_term = curr_term * i curr_sum = curr_sum + curr_term res = res * curr_sum # if n is prime number if (n >= 2) : res = res * (1 + n) return res # main n = 20 print(sumofFactors(n))
출력
36
모든 변수는 아래 그림과 같이 전역 프레임에 선언됩니다. -
결론
이 기사에서는 숫자의 짝수의 합을 구하는 방법에 대해 배웠습니다.