KnowledgeBoat Logo

Java Number Programs (ISC Classes 11 / 12)

A Dudeney number is a positive integer that is a perfect cube such that the sum of its digits is equal to the cube root of the number. Write a program to input a number and check and print whether it is a Dudeney number or not.

Example:

Consider the number 512.

Sum of digits = 5 + 1 + 2 = 8
Cube root of 512 = 8

As Sum of digits = Cube root of Number hence 512 is a Dudeney number.

Java

Java Iterative Stmts

ICSE

142 Likes

Answer

import java.util.Scanner;

public class KboatDudeneyNumber
{
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter the number: ");
        int n = in.nextInt();

        //Check if n is a perfect cube
        int cubeRoot = (int)Math.round(Math.cbrt(n));
        if (cubeRoot * cubeRoot * cubeRoot == n) {
            //If n is perfect cube then find
            //sum of its digits
            int s = 0;
            int t = n;
            while (t != 0) {
                int d = t % 10;
                s += d;
                t /= 10;
            }
            
            if (s == cubeRoot) {
                System.out.println(n + " is a Dudeney number");
            }
            else {
                System.out.println(n + " is not a Dudeney number");
            }
        }
        else {
            System.out.println(n + " is not a Dudeney number");
        }
    }
}

Output

BlueJ output of A Dudeney number is a positive integer that is a perfect cube such that the sum of its digits is equal to the cube root of the number. Write a program to input a number and check and print whether it is a Dudeney number or not. Example: Consider the number 512. Sum of digits = 5 + 1 + 2 = 8 Cube root of 512 = 8 As Sum of digits = Cube root of Number hence 512 is a Dudeney number.

Answered By

52 Likes