w3resource

C Exercises: Find Disarium numbers between 1 to 1000

C Numbers: Exercise-16 with Solution

Write a program in C to find Disarium numbers between 1 and 1000.

Sample Solution:

C Code:

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

// Function to count the number of digits in a given number
int DigiCount(int n)
{
    int ctr_digi = 0;
    int tmpx = n;
    // Count the number of digits
    while (tmpx)
    {
        tmpx = tmpx / 10;
        ctr_digi++;
    }
    return ctr_digi; // Return the count of digits
}

// Function to check if a number is a Disarium Number
bool chkDisarum(int n)
{
    int ctr_digi = DigiCount(n); // Get the count of digits in the number
    int s = 0; 
    int x = n;
    int pr;
    // Calculate the sum of powers of digits
    while (x)
    {
        pr = x % 10;
        s = s + pow(pr, ctr_digi--); // Add the power of the digit to the sum
        x = x / 10; // Move to the next digit
    }
    return (s == n); // Return true if the sum equals the original number
}

// Main function
int main()
{
    int i;
    printf("\n\n Find Disarium Numbers between 1 to 1000: \n");
    printf(" ---------------------------------------------\n");
    printf(" The Disarium numbers are: \n");

    // Check for Disarium Numbers in the range of 1 to 1000
    for (i = 1; i <= 1000; i++)
    {
        if (chkDisarum(i)) // If i is a Disarium Number
            printf("%d ", i); // Print the Disarium Number
    }	

    printf("\n");
    return 0;
}

Sample Output:

 The Disarium numbers are:                                                                                    
1 2 3 4 5 6 7 8 9 89 135 175 518 598 

Visual Presentation:

C programming: Find Disarium numbers between 1 to 1000.

Flowchart:

Flowchart: Find Disarium numbers between 1 to 1000.
-->

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a program in C to check whether a number is Disarium or not.
Next: Write a program in C to check if a number is Harshad Number or not.

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-16.php