# Find perfect abundant or deficient factors in python

Carvia Tech | May 04, 2019 | 1 min read | 58 views |

Positive integers can be classified as abundant, deficient, or perfect. Abundant integers are those whose proper factors sum to a larger number.

For example, 36 is an abundant number because its proper factors (1, 2, 3, 4, 6, 9, 12, 18) sum to 55 which is greater than 36. Deficient integers are those whose proper factors sum to a smaller number. For example, 27 is a deficient integer because its proper factors (1, 3, 9) sum to 13 which is less than 27.

Perfect integers are those whose proper factors sum to exactly that number. For example, 28 is a perfect integer because its proper factors (1, 2, 4, 7, 14) sum to exactly 28. Given a positive integer value, determine if it is abundant, deficient, or perfect. Also list its perfect factors and the sum of those perfect factors.

``````def type_of_num(num):
factors = []
for i in range(1, num + 1):
if num % i == 0:
if i != num:
factors.append(i)
if sum(factors) == num:
type_num = "Perfect"
elif sum(factors) > num:
type_num = "Abundant"
else:
type_num = "Deficient"
return type_num, factors

print(type_of_num(32))``````
Output
`('Deficient', [1, 2, 4, 8, 16])`

###### Find more on this topic: ##### Machine Learning

Data science, machine learning, python, R, big data, spark, the Jupyter notebook, and much more

Last updated 1 week ago

###### Recommended books for interview preparation:
You may also be interested in..
You may also be interested in..
You may also be interested in..
You may also be interested in..