# C++ Program to find sum of even factors of a number?

Server Side ProgrammingProgrammingC++

In this section we will see how we can get the sum of all even prime factors of a number in an efficient way. There is a number say n = 480, we have to get all factor of this. The prime factors of 480 are 2, 2, 2, 2, 2, 3, 5. The sum of all even factors is 2+2+2+2+2 = 10. To solve this problem, we have to follow this rule −

• When the number is divisible by 2, add them into the sum, and divide the number by 2 repeatedly.

• Now the number must be odd. So we will not find any factor which are even. Then simply ignore those factors.

Let us see the algorithm to get better idea.

## Algorithm

#### printPrimeFactors(n)

begin
sum := 0
while n is divisible by 2, do
sum := sum + 2
n := n / 2
done
end

## Example

Live Demo

#include<iostream>
using namespace std;
int sumEvenFactors(int n){
int i, sum = 0;
while(n % 2 == 0){
sum += 2;
n = n/2; //reduce n by dividing this by 2
}
return sum;
}
main() {
int n;
cout << "Enter a number: ";
cin >> n;
cout << "Sum of all even prime factors: "<< sumEvenFactors(n);
}

## Output

Enter a number: 480
Sum of all even prime factors: 10