Special Number in Java
Special Numbers in Java are ones whose sum of factorials of digits is equal to the number itself. It can be an N digit number. The program has first to break the number into its corresponding digits and calculate their factorials. Once that is done, the sum of the individual calculated factorials should be added. If the sum matches the original number, then the number is called to be a Special number. When the program is running, the digits and their factorials are calculated using a modulus concept and Math.fact(), which calculates each number’s factorial. In this article, we are going to check up till 4 digit numbers which are Special Numbers or not.
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
Mathematically, we have to show how the sum of factorials of individual digits of a number matches the original number. One such example of a number is 145.
145= 1! +4! +5!
In this article, we will also be going to see them working and other such Special numbers, which can be either 2 or 3 digit numbers. Java has many platforms on which this program can be run. In this article, we are going to check the working of the program on the BlueJ platform. There are four special numbers which are present which are known to us. 1,2, 145 and 40585.
Examples of Special Number in Java
In this program, we are going to enter a number and check if the number is Special or not. We indirectly check the sum of factorials of the digits as equal to the original number.
Example #1
Code:
//Java program to check if a number // is a special number import java.util.*; import java.io.*; class Special { // function to calculate the factorial // of any number using while loop static int factorial(int n) { int fact = 1; while (n != 0) { fact = fact * n; n--; } return fact; } // function to Check if number is Special static boolean isSpecial(int n) { int sum = 0; int t = n; while (t != 0) { // calculate factorial of last digit // of temp and add it to sum sum += factorial(t % 10); // replace value of t by t/10 t = t / 10; } // Check if number is Special return (sum == n); } // Driver code public static void main(String[] args)throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter the number to check if it is Special"); int n = Integer.parseInt(br.readLine()); if (isSpecial(n)) System.out.println("YES- The number is a special number"); else System.out.println("NO- The number is not a special number"); } }
Now, we are going to check 145 as the number and 40585 as the other number. Using this piece of code, we are going to check the numbers 145, 1 and 2. With the other program, we are going to see the number 40585 and use a different methodology for a loop that can be installed in the program. Now we are going to see different outputs for the program that has been shown above. The outputs are produced for numbers 1, 2, 25 and 145.
Output:
Example #2
In this coding example, we are going to see how the program can be done using for- loop. The previous program was using a while loop to calculate the factorial of the number. We will see the coding example below of how to calculate the factorial using a for a loop.
Code:
//Java program to check if a number // is a special number import java.util.*; import java.io.*; class Special { // function to calculate the factorial // of any number using for loop static int factorial(int n) { int fact = 1; for (int i=1;i<=n;i++) { fact = fact * i; ; } return fact; } // function to Check if number is Special static boolean isSpecial(int n) { int sum = 0; int t = n; while (t != 0) { // calculate factorial of last digit // of temp and add it to sum sum += factorial(t % 10); // replace value of t by t/10 t = t / 10; } // Check if number is Special return (sum == n); } // Driver code public static void main(String[] args)throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter the number to check if it is Special"); int n = Integer.parseInt(br.readLine()); if (isSpecial(n)) System.out.println("YES- The number is a special number"); else System.out.println("NO- The number is not a special number"); } }
In this number 145 and 40585, both Special numbers satisfy the prerequisite condition of becoming one. Hence we find that the numbers are both Special numbers that have been shown in the output.
Output:
In the article’s codes are very useful, and they can be used to see the print statement by someone easily on the BlueJ platform. Since the factorial concept comes into the picture, we can have a concept related to a number factorial. The last digit of a sum of factorials of the first N terms where N>5 is always 3 because the last digit is always zero after that. Also, whenever we are considering factorial of numbers, they are not generally used in the case of decimals or fractions in a number. So, we have to only use a positive integer for the use of our numbers in the factorial program. If a fraction enters the program, then the program will terminate. We can also calculate the number of 10’s in certain big factorial by a calculation. We will see that in another article.
Conclusion
In this article, we have seen four numbers majorly: Special numbers or Krishnamurthy numbers in general. So, we see the basic structure and behavior of the numbers with respect to their factorials. We check that numbers 1,2,4 and 40585 are Special numbers which have the same characteristic as each other.
The above is the detailed content of Special Number in Java. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

The reasons why PHP is the preferred technology stack for many websites include its ease of use, strong community support, and widespread use. 1) Easy to learn and use, suitable for beginners. 2) Have a huge developer community and rich resources. 3) Widely used in WordPress, Drupal and other platforms. 4) Integrate tightly with web servers to simplify development deployment.

PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.
