C Exercises: Find narcissistic decimal numbers within a specific range
Write a program in C to find narcissistic decimal numbers within a specific range.
Test DataInput the lower limit: 100
Input a upper limit: 1000
Sample Solution:
C Code:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
int main()
{
int nl, nu; // Variables for lower and upper limit of the range
printf("\n\n Find the narcissistic decimal numbers between a specific range: \n");
printf(" --------------------------------------------------------------------\n");
printf(" Input the lower limit: ");
scanf("%d", &nl); // Reading the lower limit from the user
printf(" Input an upper limit: ");
scanf("%d", &nu); // Reading the upper limit from the user
printf(" The narcissistic decimal numbers between %d and %d are: \n", nl, nu);
int i, ctr, j, orn, n, m, sum; // Variables for iteration, counting, number manipulation, and sum
// Loop through numbers in the range [nl, nu] to find narcissistic decimal numbers
for (orn = nl; orn <= nu; orn++)
{
ctr = 0; // Counter to count digits in the number
sum = 0; // Variable to store the sum of digits powered by the number of digits
// Count the number of digits in the current number 'orn'
n = orn;
while (n > 0)
{
n = n / 10;
ctr++;
}
// Calculate the sum of digits raised to the power of the count of digits
n = orn;
while (n > 0)
{
m = n % 10;
sum = sum + pow(m, ctr);
n = n / 10;
}
// Check if the sum of powered digits is equal to the original number 'orn'
if (sum == orn)
{
printf(" %d ", orn); // Print the narcissistic decimal number found
}
}
printf("\n");
}
Sample Output:
Input the lower limit: 100 Input a upper limit: 1000 The narcissistic decimal numbers between 100 and 1000 are: 153 370 371 407
Visual Presentation:
Flowchart:
![Flowchart: Find narcissistic decimal numbers within a specific range.](https://www.w3resource.com/w3r_images/c-numbers-exercise-flowchart-34.png)
C Programming Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a program in C to generate mersenne primes within a range of numbers.
Next: Write a program in C to print the first 20 numbers of the Pell series.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics