Q. Write an algorithm and program to check Abundant Number?
Program to check Abundant Number : This section focuses on Abundant Number algorithm and program. This program should be practiced to improve the coding skills required for various interviews (campus interviews, walk-in interviews), coding rounds etc.
Abundant Number : An abundant number is a number for which the sum of its proper divisors is greater than the number itself.
Given an number n and our task to find sum of all the proper divisors of the number and check if sum of all the proper divisors is greater than the original number or not.
For Example :-
Input : n = 12
Output : Yes, The number is Abundant Number
Explanation : As we can see that input number is 12. The proper divisors of 12 is 1,2,3,4,6 and the sum of proper divisors is 1 + 2 + 3 + 4 + 6 = 16. The Abundance is 16 - 12 = 4.So, Yes, The number is Abundant Number".
Now let us understand what logic we need to use in this :
1. Firstly, find the divisors of the number.
2. Calculate the sum of divisor.
3. Check if this sum is greater than original number or not.
Algorithm To Check Abundant Number
\\Algorithm To Check Abundant Number START Step 1 : Initilize the sum with 0 Step 2 : Loop begins from i = 1 to i <= (Math.Sqrt(n)) : if n % i equals 0 if n/i equals i sum equals sum + i else sum equals sum + i; sum equals sum + (n / i); Step 3 : sum equals sum - n Step 4 : check if sum greater than original number n Stop
Program To Check Abundant Number
//C Program To Check Abundant Number #include <stdio.h> int main() { int num=18, sum = 0; // Note that this loop runs for (int i=1; i<=num/2; i++) { if (num%i==0) { // If divisors are equal,take only one // of them if (num/i == i) sum = sum + i; else // Otherwise take both { sum = sum + i; sum = sum + (num / i); } } } // calculate sum of all proper divisors only sum = sum - num; if(sum>num) { printf("Yes, The number is Abundant Number"); } else { printf("No, The number is not Abundant Number"); } return 0; }
//C++ Program To Check Abundant Number #include <iostream> using namespace std; int main() { int num=18, sum = 0; // Note that this loop runs till square root // of num for (int i=1; i<=num/2; i++) { if (num%i==0) { // If divisors are equal,take only one // of them if (num/i == i) sum = sum + i; else // Otherwise take both { sum = sum + i; sum = sum + (num / i); } } } // calculate sum of all proper divisors only sum = sum - num; if(sum>num) { cout<<"Yes, The number is Abundant Number"; } else { cout<<"No, The number is not Abundant Number"; } return 0; }
//Java Program To Check Abundant Number public class LFC { public static void main(String[] args) { int num=18, sum = 0; // Note that this loop runs till square root // of num for (int i=1; i<=num/2; i++) { if (num%i==0) { // If divisors are equal,take only one // of them if (num/i == i) sum = sum + i; else // Otherwise take both { sum = sum + i; sum = sum + (num / i); } } } // calculate sum of all proper divisors only sum = sum - num; if(sum>num) { System.out.println("Yes, The number is Abundant Number"); } else { System.out.println("No, The number is not Abundant Number"); } } }
#Python Program To Check Abundant Number import math num=18 sum = 0 # Note that this loop runs till square root # of num i=1 while i <= (math.sqrt(num)) : if num%i == 0 : # If divisors are equal,take only one # of them if num/i == i : sum = sum + i else : # Otherwise take both sum = sum + i sum = sum + (num / i) i = i + 1 # calculate sum of all proper divisors only sum = sum - num; if sum>num: print("Yes, The number is Abundant Number") else: print("No, The number is not Abundant Number")
//C# Program To Check Abundant Number using System; class LFC { static void Main() { int num=18, sum = 0; // Note that this loop runs till square root // of num for (int i=1; i<=num/2; i++) { if (num%i==0) { // If divisors are equal,take only one // of them if (num/i == i) sum = sum + i; else // Otherwise take both { sum = sum + i; sum = sum + (num / i); } } } // calculate sum of all proper divisors only sum = sum - num; if(sum>num) { Console.WriteLine("Yes, The number is Abundant Number"); } else { Console.WriteLine("No, The number is not Abundant Number"); } } }
<?php //PHP Program To Check Abundant Number $num=18; $sum=0; // Note that this loop runs // till square root of $num for ($i = 1; $i <= sqrt($num); $i++) { if ($num % $i == 0) { // If divisors are equal,take // only one of them if ($num / $i == $i) $sum = $sum + $i; // Otherwise take both else { $sum = $sum + $i; $sum = $sum + ($num / $i); } } } $sum = $sum - $num; if ($sum > $num) { echo("Yes, The number is Abundant Number"); } else { echo("No, The number is not Abundant Number"); }
//C Program To Check Abundant Number #include <stdio.h> int main() { int num=18, sum = 0; // Note that this loop runs for (int i=1; i<=num/2; i++) { if (num%i==0) { // If divisors are equal,take only one // of them if (num/i == i) sum = sum + i; else // Otherwise take both { sum = sum + i; sum = sum + (num / i); } } } // calculate sum of all proper divisors only sum = sum - num; if(sum>num) { printf("Yes, The number is Abundant Number"); } else { printf("No, The number is not Abundant Number"); } return 0; }
Output
Yes, The number is Abundant Number
Recommended Programs
Program to find factorial of a numberProgram to check armstrong number