# Python program for Find sum of odd factors of a number

By IncludeHelp Last updated : February 17, 2024

## Problem statement

Given an integer number, write a Python program to find the sum of odd factors of the given number.

Consider the below example with sample values:

```Input:
num = 120

Odd factors of 120 are: 1, 3, 5, 15

Output:
Sum of all odd factors is: 1 + 3 + 5 + 15 = 24
```
```Input:
num = 55

Odd factors of 55are: 1, 5, 11, 55

Output:
Sum of all odd factors is: 1 + 5 + 11 + 55 = 24```

## Finding of sum of odd factors of a number

To find the sum of odd factors, find the factors of a number and ignore the even factors with their powers. To remove all even factors, divide the given number if it is divisible by 2 repeatedly and use another loop to get and find the sum of odd factors.

```# Import math module
import math

# Function that returns the sum of odd factors
# of the given number
def SumOddFactors(num):
# Traversing through all
# prime factors.
result = 1

# Ignoring even factors
while num % 2 == 0:
num = num // 2

for i in range(3, int(math.sqrt(num) + 1)):
count = 0
curr_sum = 1
curr_term = 1
while num % i == 0:
count += 1

num = num // i
curr_term *= i
curr_sum += curr_term

result *= curr_sum

# For prime number
if num >= 2:
result *= 1 + num

return result

# The main code
num = 120
print(SumOddFactors(num))

num = 55
print(SumOddFactors(num))
```

## Output

The output of the above code is:

```24
72
```

To understand the above program, you should have the basic knowledge of the following Python topics: