A number n is said to be Deficient Number if sum of all the divisors of the number denoted by divisorsSum(n) is less than twice the value of the number n. And the difference between these two values is called the deficiency.
Mathematically, if below condition holds the number is said to be Deficient:
divisorsSum(n) < 2 * n
deficiency = (2 * n) - divisorsSum(n)
The first few Deficient Numbers are:
1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19 …..
Given a number n, our task is to find if this number is Deficient number or not.
Input: 21 Output: YES Divisors are 1, 3, 7 and 21. Sum of divisors is 32. This sum is less than 2*21 or 42. Input: 12 Output: NO Input: 17 Output: YES
A Simple solution is to iterate all the numbers from 1 to n and check if the number divides n and calculate the sum. Check if this sum is less than 2 * 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.
Implementation of Optimized approach
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.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Number of factors of very large number N modulo M where M is any prime number
- Find minimum number to be divided to make a number a perfect square
- How to check if a given number is Fibonacci number?
- Find the smallest number whose digits multiply to a given number n
- Find n'th number in a number system with only 3 and 4
- Build Lowest Number by Removing n digits from a given number
- Count number of subsets of a set with GCD equal to a given number
- Count number of ways to divide a number in 4 parts
- Querying maximum number of divisors that a number in a given range has
- Check if a number is a power of another number
- Find the Largest number with given number of digits and sum of digits
- Finding number of digits in n'th Fibonacci number
- Smallest number by rearranging digits of a given number
- Super Ugly Number (Number whose prime factors are in given set)
- Number with maximum number of prime factors
- Convert a number m to n using minimum number of given operations
- Determine whether a given number is a Hyperperfect Number
- Find count of digits in a number that divide the number
- Convert a binary number to hexadecimal number
- Number of times the largest perfect square number can be subtracted from N