Front-end Tutorials

Front-end Tutorials

HTMLCSSSassJavaScriptReactJS
CMS Tutorials

CMS Tutorials

WordPress
Tutorials expand

C Program to Check Disarium Number

Posted in C Tutorial
Updated on Oct 06, 2024
By Mari Selvan
πŸ‘οΈ 63 - Views
⏳ 4 mins
πŸ’¬ 1 Comment
C Program to Check Disarium Number

Photo Credit to CodeToFun

πŸ™‹ Introduction

In the realm of programming, exploring mathematical patterns is a fascinating endeavor. One such numeric pattern is the Disarium number.

A Disarium number is a number defined by the sum of its digits each raised to the power of its respective position.

In this tutorial, we'll delve into a C program designed to check whether a given number is a Disarium number.

πŸ“„ Example

Let's explore the C code that checks whether a given number is a Disarium number.

isDisarium.c
Copied
Copy To Clipboard
#include <stdio.h>
#include <math.h>

// Function to count the number of digits in a given number
int countDigits(int number) {
  int count = 0;
  while (number != 0) {
    count++;
    number /= 10;
  }
  return count;
}

// Function to check if a number is a Disarium number
int isDisarium(int number) {
  int originalNumber = number;
  int digitCount = countDigits(number);
  int sum = 0;

  while (number != 0) {
    int digit = number % 10;
    sum += pow(digit, digitCount);
    digitCount--;
    number /= 10;
  }

  return (sum == originalNumber);
}

// Driver program
int main() {
  // Replace this value with your desired number
  int inputNumber = 89;

  // Call the function to check if the number is Disarium
  if (isDisarium(inputNumber)) {
    printf("%d is a Disarium number.\n", inputNumber);
  } else {
    printf("%d is not a Disarium number.\n", inputNumber);
  }

  return 0;
}

πŸ’» Testing the Program

To test the program with different numbers, replace the value of inputNumber in the main function.

Output
89 is a Disarium number.

Compile and run the program to check if the number is a Disarium number.

🧠 How the Program Works

  1. The program defines a function countDigits to count the number of digits in a given number.
  2. The isDisarium function checks if a number is a Disarium number by summing the digits each raised to the power of its position.
  3. The main function tests the isDisarium function with a sample number (replace it with your desired number).

πŸ“ Between the Given Range

Let's dive into the C code that checks for Disarium numbers in the specified range.

isDisarium.c
Copied
Copy To Clipboard
#include <stdio.h>
#include <math.h>

// Function to calculate the number of digits in a number
int countDigits(int num) {
  int count = 0;
  while (num != 0) {
    num /= 10;
    ++count;
  }
  return count;
}

// Function to check if a number is a Disarium number
int isDisarium(int num) {
  int originalNum = num;
  int digitCount = countDigits(num);
  int sum = 0;

  while (num != 0) {
    int digit = num % 10;
    sum += pow(digit, digitCount);
    num /= 10;
    --digitCount;
  }

  return (sum == originalNum);
}

// Driver program
int main() {
  printf("Disarium numbers in the range 1 to 100:\n");

  for (int i = 1; i <= 100; ++i) {
    if (isDisarium(i)) {
      printf("%d ", i);
    }
  }

  return 0;
}

πŸ’» Testing the Program

Output
Disarium numbers in the range 1 to 100:
1 2 3 4 5 6 7 8 9 89

Run the program to check for Disarium numbers in the range from 1 to 100.

🧠 How the Program Works

  1. The program defines a function countDigits that calculates the number of digits in a given number.
  2. It also defines a function isDisarium that checks if a number is a Disarium number.
  3. The main function iterates through numbers from 1 to 100 and prints the Disarium numbers in the specified format.

🧐 Understanding the Concept of Disarium Numbers

Before we dive into the code, let's grasp the concept of Disarium numbers.

A Disarium number is a number such that the sum of its digits, each raised to the power of its position, equals the number itself.

For example, the number 89 is a Disarium number because 8^1 + 9^2 equals 89.

πŸŽ‰ Conclusion

Understanding and implementing programs to identify numeric patterns, such as Disarium numbers, is a valuable skill in the world of programming.

The provided C program offers a practical example of checking whether a given number follows the Disarium pattern.

Feel free to use and modify this code for your specific use cases. Happy coding!

πŸ‘¨β€πŸ’» Join our Community:

To get interesting news and instant updates on Front-End, Back-End, CMS and other Frameworks. Please Join the Telegram Channel:

Author

author
πŸ‘‹ Hey, I'm Mari Selvan

For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.

Buy me a coffee to make codetofun.com free for everyone.

Buy me a Coffee

Share Your Findings to All

Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Mari Selvan
Mari Selvan
10 months ago

If you have any doubts regarding this article (C Program to Check Disarium Number), please comment here. I will help you immediately.

We make use of cookies to improve our user experience. By using this website, you agree with our Cookies Policy
AgreeCookie Policy