How to check if a number is abundant number in Python

2 Answers

0 votes
import math

def sumNumberProperDivisors( num) :
    summ = 0
    i = 1
    while (i <= math.sqrt(num)) :
        if (num % i == 0) :
            if (i == (int(num / i))) :
                summ += i
                print(str(i) + ", ", end ="")
            else :
                summ += i + (int(num / i))
                print(str(i) + ", " + str(int(num / i)) + ", ", end ="")
        i += 1
    return summ - num

num = 24
summ = sumNumberProperDivisors(num)
print("num = " + str(num) + " sum = " + str(summ) + " abundant = " + ("true" if summ > num else "false"))

num = 21
summ = sumNumberProperDivisors(num)
print("num = " + str(num) + " sum = " + str(summ) + " abundant = " + ("true" if summ > num else "false"))





'''
run:

1, 24, 2, 12, 3, 8, 4, 6, num = 24 sum = 36 abundant = true
1, 21, 3, 7, num = 21 sum = 11 abundant = false

'''

 



answered Nov 1, 2022 by avibootz
edited Nov 1, 2022 by avibootz
0 votes
def isAbundant(num) :
    summ = sum([i for i in range(1, num) if num % i == 0])  
    print(summ)
    
    return summ > num  

num = 24
print("true" if isAbundant(num) else "false")

num = 21
print("true" if isAbundant(num) else "false")




'''
run:

36
true
11
false

'''

 



answered Nov 1, 2022 by avibootz

Related questions

1 answer 107 views
1 answer 98 views
1 answer 92 views
1 answer 106 views
1 answer 100 views
1 answer 97 views
2 answers 109 views
...