A number n is said to be Abundant Number if sum of all the proper divisors of the number denoted by sum(n) is greater than the value of the number n. And the difference between these two values is called the abundance.
Mathematically, if below condition holds the number is said to be Abundant number:
sum(n)> n abundance = sum(n) - n sum(n): aliquot sum - The sum of all proper divisors of n
Given a number n, our task is to find if this number is Abundant number or not.
Input: 21 Output: NO Input: 12 Output: YES Input: 17 Output: NO
A Simple solution is to iterate all the numbers from 1 to n-1 and check if the number divides n and calculate the sum. Check if this sum is greater than n or not.
Time Complexity of this approach: O(n)
If we observe carefully, the divisors of the number n are present in pairs. For example if n = 100, then all the pairs of divisors are: (1,100), (2,50), (4,25), (5,20), (10,10)
Using this fact we can speed up our program. While checking divisors we will have to be careful if there are two equal divisors as in case of (10, 10). In such case we will take only one of them in calculation of sum.
Subtract the number n from the sum of all divisors to get the sum of proper divisors.
Time Complexity: O(sqrt(n))
Auxiliary Space: O(1)
This article is contributed by Harsh Agarwal. 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 write comments if you find anything incorrect, or you want to share more information about the topic discussed above.”
- Check if a number can be expressed as sum two abundant numbers
- Count number of trailing zeros in Binary representation of a number using Bitset
- Count number of triplets with product equal to given number with duplicates allowed
- Find minimum number to be divided to make a number a perfect square
- Given number of matches played, find number of teams in tournament
- Number of possible permutations when absolute difference between number of elements to the right and left are given
- Number of times the largest perfect square number can be subtracted from N
- Check whether all the rotations of a given number is greater than or equal to the given number or not
- Find the number of ways to divide number into four parts such that a = c and b = d
- Minimum number of given powers of 2 required to represent a number
- Count Number of animals in a zoo from given number of head and legs
- Find the number of integers x in range (1,N) for which x and x+1 have same number of divisors
- Number of digits to be removed to make a number divisible by 3
- Querying maximum number of divisors that a number in a given range has
- Queries on sum of odd number digit sums of all the factors of a number
Improved By : jit_t