Tutorial Gateway

  • C
  • C#
  • Java
  • Python
  • SQL
  • MySQL
  • Js
  • BI Tools
    • Informatica
    • Talend
    • Tableau
    • Power BI
    • SSIS
    • SSRS
    • SSAS
    • MDX
    • R Tutorial
    • Alteryx
    • QlikView
  • More
    • C Programs
    • C++ Programs
    • Go Programs
    • Python Programs
    • Java Programs

Java Program for Strong Number

by suresh

Write a Java Program for Strong Number using While Loop, For Loop, and Functions. We also show how to print Strong Numbers between 1 to n. If the sum of the factorial of each digit is equal to the given number, then it is called a Strong Number.

Java Program for Strong Number using While Loop

This program for a strong number in java allows the user to enter any integer value. Next, it checks whether the given number is strong or not using While Loop.

// Java program for Strong Number
import java.util.Scanner;

public class StrongNumber1 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Number, Temp, Reminder, Sum = 0, i, Factorial;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter any Number : ");
		Number = sc.nextInt();		
		
		Temp = Number;
		while( Temp > 0)
		{
			Factorial = 1; 
			i = 1; 
		    Reminder = Temp % 10;
		    while (i <= Reminder)
		    {
		     	Factorial = Factorial * i;
		     	i++;
		    }
		    System.out.println(" The Factorial of " + Reminder + "  =  " + Factorial);
		     Sum = Sum + Factorial;
		     Temp = Temp /10;
		}
		
		System.out.println(" The Sum of the Factorials of a Given Number " + Number + " =  " + Sum);
		
		if ( Number == Sum )
		{
			System.out.println("\n " + Number + " is a Strong Number");
		}
		else
		{
		   System.out.println("\n " + Number + " is Not a Strong Number");
		}
	}
}
Java program for Strong Number 1

User Entered value for this Java strong number program: Number = 145 and Sum = 0
Temp = Number = 145

First Iteration: while( Temp > 0)
Reminder = Temp % 10 => 145 % 10
Reminder = 5

Next, it enters into the Inner While loop. Here, it calculates the factorial of 5 = 120. Please refer Factorial Program article in Java.

Sum = Sum +120 => 0 + 120
Sum = 120

Temp = Temp /10 => 145 /10
Temp = 14

Second Iteration: while( 14 > 0)
From the first Iteration, the values of both Temp and Sum has changed as Temp = 14 and Sum = 120
Reminder = 14 % 10 = 4

Next, it calculates the factorial of 4, and that is 24.
Sum = 120 + 24
Sum = 144

Temp = 14 /10
Temp = 1

Third Iteration: while( 1 > 0)
From the Second Iteration: Temp = 1 and Sum = 144
Reminder = 1 % 10 = 0

Next, the factorial of 1 is 1
Sum = 144 + 1
Sum = 145

Temp = 1 / 10
Temp = 0

Here, Temp = 0. So, the condition inside the While Loop fail

if ( Number == Sum ) => if(145 = 145) – Condition is True. So, the given number is a Strong Number

Java Program for Strong Number using For Loop

This Java program strong number allows the user to enter any integer value. Next, it checks whether the given number is strong or not using Java For Loop.

// Java program for Strong Number
import java.util.Scanner;

public class StrongNumber2 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Number, Temp, Reminder, Sum = 0, i, Factorial;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter any Number : ");
		Number = sc.nextInt();		
		
		for(Temp = Number; Temp > 0; Temp = Temp /10)
		{
			Factorial = 1; 
			
		    Reminder = Temp % 10;
		    for(i = 1; i <= Reminder; i++)
		    {
		     	Factorial = Factorial * i;
		    }
		    System.out.println(" The Factorial of " + Reminder + "  =  " + Factorial);
		     Sum = Sum + Factorial;
		}
		
		System.out.println(" The Sum of the Factorials of a Given Number " + Number + " =  " + Sum);
		
		if ( Number == Sum )
		{
			System.out.println("\n " + Number + " is a Strong Number");
		}
		else
		{
		   System.out.println("\n " + Number + " is Not a Strong Number");
		}
	}
}

We just replaced the While loop in the above Java strong number example with the For loop. If you don’t understand the For Loop, please refer: FOR LOOP

Java program for Strong Number 2

Program for Strong Number using Method

This program for a strong number is the same as the first example. But we separated the Java strong number logic and placed it in a separate method.

// Java program for Strong Number
import java.util.Scanner;

public class StrongNumber3 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Number, Temp, Reminder, Sum = 0, Factorial;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter any Number : ");
		Number = sc.nextInt();		
		
		for(Temp = Number; Temp > 0; Temp = Temp /10)
		{
			Factorial = 1; 		
		    Reminder = Temp % 10;
		    
		    // Calling Calculate_factorial Function
		    Factorial = Factorial(Reminder);
		    
		    System.out.println(" The Factorial of " + Reminder + "  =  " + Factorial);
		    Sum = Sum + Factorial;
		}
		
		System.out.println(" The Sum of the Factorials of a Given Number " + Number + " =  " + Sum);
		
		if ( Number == Sum )
		{
			System.out.println("\n " + Number + " is a Strong Number");
		}
		else
		{
		   System.out.println("\n " + Number + " is Not a Strong Number");
		}
	}
	public static int Factorial(int num)
	{
		if (num == 0 || num == 1)
			return 1;
		else
		    return num * Factorial (num -1);
	}
}
Java program for Strong Number 3

Java Program to Print Strong Numbers from 1 to N

This strong number program accepts the Minimum and maximum values from the user. Next, it prints the list of strong numbers between the minimum and maximum value.

import java.util.Scanner;

public class PrintStrongNumbers1 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Number, minimum, maximum, Temp, Sum = 0;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter the Minimum value : ");
		minimum = sc.nextInt();			
		
		System.out.print(" Please Enter the Maximum value : ");
		maximum = sc.nextInt();	
		
		for(Number = minimum; Number <= maximum; Number++)
		{
			Temp = Number; 
			Sum = StrongNumber(Temp);
		
			if (Number == Sum )
			{
				System.out.println(" " + Number + " is a Strong Number");
			}
		}
	}
	public static int Factorial(int num)
	{
		if (num == 0 || num == 1)
			return 1;
		else
		    return num * Factorial (num -1);
	}
	public static int StrongNumber(int num)
	{
		int Temp, Reminder, Sum = 0, Factorial;
		
		for(Temp = num; Temp > 0; Temp = Temp /10)
		{
			Factorial = 1; 			
			Reminder = Temp % 10;
			Factorial = Factorial(Reminder);
			Sum = Sum + Factorial;
		}
		return Sum;
	}
}
Java program for Strong Number 4

Placed Under: Java Programs

  • Java Hello World Program
  • Java Add Two Numbers Program
  • Java Compound Interest Program
  • Java Number Divisible by 5 & 11
  • Java Cube of a Number Program
  • Java Print Even Numbers 1 to N
  • Java GCD of Two Numbers
  • Java LCM of Two Numbers
  • Java Largest of Two Numbers
  • Java Largest of Three Numbers
  • Java Print Multiplication Table
  • Java Odd Numbers from 1 to N
  • Java Odd Even Program
  • Java find +Ve or -Ve number
  • Java Power of a Number Program
  • Java Calculate Profit or Loss
  • Java Print 1 to 100 without Loop
  • Java Quadratic Equation roots
  • Java Square of Number Program
  • Java Simple Interest Program
  • Java Sum of Even Numbers
  • Java Sum of Odd numbers
  • Java Sum of Even & Odd Number
  • Java find Total ,Average & Percentage of 5 Subjects
  • Java ASCII Value of a Character
  • Java ASCII Value of all Characters
  • Java String Comparison program
  • Java Area of Circle Program
  • Java Area Of Triangle Program
  • Java Area Of Trapezoid Program
  • Java Area of Equilateral Triangle
  • Java Area of Rectangle Program
  • Java Area of Right angle triangle
  • Java Volume & Surface of Sphere
  • Java Volume & Surface of Cone
  • Java Volume & Surface of Cuboid
  • Java Volume & Surface of Cube
  • Java Cylinder Volume & Surface
  • Java Math Library
  • Java Armstrong Number Program
  • Java Perfect Number Program
  • Java Palindrome Program
  • Java Count Digits in a Number
  • Java Calculate Electricity Bill
  • Java Find Factors of a Number
  • Java Factorial Program
  • Java Fibonacci Series program
  • Java find First Digit of a Number
  • Java find Last Digit of a Number
  • Java First & Last Digit of Number
  • Java Generic Root of Number
  • Java Natural Numbers in Reverse
  • Java Natural Numbers from 1 to N
  • Java Find Sum of Prime Numbers
  • Java Print Prime Numbers 1 to N
  • Java Prime Number Program
  • Java Reverse a Number Program
  • Java Strong Number Program
  • Java Sum of N Natural Numbers
  • Java Sum of Digits Program
  • Java Swap Two Numbers
  • Java Leap Year Program
  • Java Number of Days in a Month
  • Java Array
  • Java Array Arithmetic Operations
  • Java Program to Copy an Array
  • Java Count Array Duplicates
  • Java count even number in array
  • Java count odd numbers in Array
  • Java Count Even & Odds in Array
  • Java Count Negative Array Items
  • Java Count Positive Array Items
  • Java Count Array +Ve & -Ve num
  • Java Delete Array Duplicates
  • Java Large & Small Array Item
  • Java Largest Array Number
  • Java Print Array Elements
  • Java Print Positive Array Items
  • Java Print Negative Array Items
  • Java Smallest Array Number
  • Java Second Largest Array Item
  • Java Print Unique Array Items
  • Java +Ve & -Ve in separate array
  • Java Sort Array in Descending
  • Java Sort Array in Ascending
  • Java Sum of Array Elements
  • Java Sum of Array Even Numbers
  • Java Sum of Array Odd Numbers
  • Java Sum of Array Even and Odd
  • Java Swap Arrays without temp
  • Java Matrix Introduction
  • Java Print Matrix items
  • Java Check 2 Matrices are Equal
  • Java Matrix Arithmetic operation
  • Java Matrix Addition
  • Java Matrix Multiplication
  • Java Find Matrix Determinant
  • Java Identity Matrix
  • Java Interchange Matrix diagonal
  • Java Matrix Lower Triangle
  • Java Matrix Lower Triangle Sum
  • Java Matrix Upper Triangle
  • Java Matrix Upper Triangle Sum
  • Java Scalar Matrix Multiplication
  • Java Sparse Matrix
  • Java Sum of Matrix Diagonal
  • Java Sum of Matrix Opp Diagonal
  • Java Sum of each Matrix Row
  • Java Sum of each Matrix Column
  • Java Sum of Matrix row & column
  • Java Symmetric Matrix
  • Java Transpose Matrix
  • Java Rectangle Star Pattern
  • Java Square Star Pattern
  • Java Hollow Box Number Pattern
  • Java Box Number Pattern of 1, 0
  • Java Square Number Pattern
  • Java Print Floyd’s Triangle
  • Java Print String Characters
  • Java String replace 1st Char Occ
  • Java String replace last Char occ
  • Java String remove 1st Char Occ
  • Java string remove last Char Occ
  • Java String remove 1st, last char
  • Java String remove all char occur
  • Java String Find 1st Char Occur
  • Java String find all char occur
  • Java String Find Last Char Occur
  • Java String Print 1st & last Char
  • Java String Chars ASCII values
  • Java Program to Concat Strings
  • Java String Characters count
  • Java Count Total Char Occur
  • Java Max Occur String Character
  • Java Toggle String Characters
  • Java Frequency of each Char
  • Java Count Vowels & Consonants
  • Java Count alph digits, special
  • Java Palindrome String
  • Java Program to Reverse a String
  • Java Min Occur String character
  • Java Convert Lower to Upper
  • Java Convert Upper to Lower
  • Java Count total String words

Copyright © 2021· All Rights Reserved.
About | Contact | Privacy Policy