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:
Flowchart:
-->
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.
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://www.w3resource.com/c-programming-exercises/numbers/c-numbers-exercise-16.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics