w3resource

C Exercises: Check whether a given number is Abundant or not

C Numbers: Exercise-2 with Solution

Write a program in C to check whether a given number is Abundant or not.

Test Data
Input an integer number: 18

Sample Solution:

C Code:

#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <math.h>

// Function to calculate the sum of divisors of a number
int getSum(int n)
{
    int sum = 0;
    for (int i = 1; i <= sqrt(n); i++) // Loop through numbers from 1 to the square root of 'n'
    {
        if (n % i == 0) // Check if 'i' is a divisor of 'n'
        {
            if (n / i == i)
                sum = sum + i; // If 'i' is a divisor and is equal to the square root of 'n', add it to 'sum'
            else
            {
                sum = sum + i; // Add 'i' to 'sum'
                sum = sum + (n / i); // Add 'n / i' to 'sum'
            }
        }
    }
    sum = sum - n; // Subtract the number 'n' from the sum of its divisors
    return sum; // Return the sum of divisors
}

// Function to check if a number is an abundant number
bool checkAbundant(int n)
{
    return getSum(n) > n; // Return true if the sum of divisors is greater than 'n', otherwise return false
}

// Main function
int main()
{
    int n;
    printf("\n\n Check whether a given number is an Abundant number:\n");
    printf(" --------------------------------------------------------\n");
    printf(" Input an integer number: ");
    scanf("%d", &n); // Read an integer from the user and store it in variable 'n'

    // Check if the number is abundant and print the result
    checkAbundant(n) ? printf(" The number is Abundant.\n") : printf(" The number is not Abundant.\n");

    return 0;
}

Sample Output:

 Input an integer number: 18                                                                                  
 The number is Abundant.  

Visual Presentation:

C programming: Check whether a given number is Abundant or not.

Flowchart:

Flowchart: Check whether a given number is Abundant or not

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a program in C to check whether a given number is an ugly number or not.
Next: Write a program in C to find the Abundant numbers (integers) between 1 to 1000.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/c-programming-exercises/numbers/c-numbers-exercise-2.php