w3resource

Java: Check whether a given number is a Disarium number or unhappy number


Check Disarium or Unhappy Number

Write a Java program to check whether a given number is a Disarium number or an unhappy number.

A Disarium number is a number defined by the following process:
Sum of its digits powered with their respective position is equal to the original number.
For example 175 is a Disarium number:
As 11+32+53 = 135
Some other DISARIUM are 89, 175, 518 etc.
A number will be called Disarium if the sum of its digits powered with their respective position is equal with the number itself. Sample Input: 135.

Test Data
Input a number : 25

Pictorial Presentation:

Java: Check whether a given number is a Disarium number or unhappy number.


Sample Solution:

Java Code:

import java.util.Scanner;

public class Example11 {

    public static void main(String args[])
        {
            Scanner sc = new Scanner(System.in);
            System.out.print("Input a number : ");
            int num = sc.nextInt();
            int copy = num, d = 0, sum = 0;
            String s = Integer.toString(num);  
            int len = s.length();  
             
            while(copy>0)
            {
                d = copy % 10;  
                sum = sum + (int)Math.pow(d,len);
                len--;
                copy = copy / 10;
            }
             
            if(sum == num)
                System.out.println("Disarium Number.");
            else
                System.out.println("Not a Disarium Number.");
        }
    }

Sample Output:

Input a number : 25                                                                                           
Not a Disarium Number.

Flowchart:

Flowchart: Check whether a given number is a Disarium number or unhappy number


For more Practice: Solve these Related Problems:

  • Write a Java program to compute the sum of digits raised to their positions and check for the Disarium property.
  • Write a Java program to generate all Disarium numbers within a given range using recursion.
  • Write a Java program to compare a number’s Disarium value with its original value using iterative methods.
  • Write a Java program to implement a Disarium checker using Java streams for digit manipulation.

Go to:


PREV : Check Happy or Unhappy Numbe
NEXT : Check Disarium or Unhappy Number.

Java Code Editor:

Contribute your code and comments through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.