Given a number n, the task is to find the even factor sum of a number.
Input : 30 Output : 48 Even dividers sum 2 + 6 + 10 + 30 = 48 Input : 18 Output : 26 Even dividers sum 2 + 6 + 18 = 26
Prerequisite : Sum of factors
As discussed in above mentioned previous post, sum of factors of a number is
Let p1, p2, … pk be prime factors of n. Let a1, a2, .. ak be highest powers of p1, p2, .. pk respectively that divide n, i.e., we can write n as n = (p1a1)*(p2a2)* … (pkak).
Sum of divisors = (1 + p1 + p12 ... p1a1) * (1 + p2 + p22 ... p2a2) * ........................... (1 + pk + pk2 ... pkak)
If number is odd, then there are no even factors, so we simply return 0.
If number is even, we use above formula. We only need to ignore 20. All other terms multiply to produce even factor sum. For example, consider n = 18. It can be written as 2132 and sun of all factors is (20 + 21)*(30 + 31 + 32). if we remove 20 then we get the
Sum of even factors (2)*(1+3+32) = 26.
To remove odd number in even factor, we ignore then 20 whaich is 1. After this step, we only get even factors. Note that 2 is the only even prime.
Below is the implementation of the above approach.
- Find sum of odd factors of a number
- Find minimum sum of factors of number
- Queries to find whether a number has exactly four distinct factors or not
- Number which has the maximum number of distinct prime factors in the range M to N
- Queries on sum of odd number digit sums of all the factors of a number
- Super Ugly Number (Number whose prime factors are in given set)
- Number with maximum number of prime factors
- Sum of all the factors of a number
- Find four factors of N with maximum product and sum equal to N | Set-2
- Find four factors of N with maximum product and sum equal to N | Set 3
- Find four factors of N with maximum product and sum equal to N
- Prime factors of a big number
- Product of factors of number
- Maximize the product of four factors of a Number
- Expressing a number as sum of consecutive | Set 2 (Using odd factors)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : Mithun Kumar