Java 中的特殊数字是数字阶乘之和等于数字本身的数字。它可以是N位数字。该程序首先将数字分解为相应的数字并计算它们的阶乘。完成后,应添加各个计算阶乘的总和。如果总和与原始数字匹配,则该数字被称为特殊数字。当程序运行时,使用模数概念和 Math.fact() 计算数字及其阶乘,Math.fact() 计算每个数字的阶乘。在这篇文章中,我们将检查 4 位数字是否是特殊号码。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
从数学上讲,我们必须展示一个数字的各个数字的阶乘之和如何与原始数字匹配。 145 就是这样一个数字的例子。
145=1! +4! +5!
在本文中,我们还将看到它们的工作原理以及其他此类特殊号码,可以是 2 位或 3 位数字。 Java 有许多平台可以运行该程序。在本文中,我们将检查该程序在 BlueJ 平台上的运行情况。有四个我们已知的特殊数字。 1,2, 145 和 40585。
在这个程序中,我们将输入一个号码并检查该号码是否特殊。我们间接检查数字的阶乘总和是否等于原始数字。
代码:
//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"); } }
现在,我们将检查 145 作为号码,40585 作为另一个号码。使用这段代码,我们将检查数字 145、1 和 2。使用另一个程序,我们将看到数字 40585,并对可以安装在程序中的循环使用不同的方法。现在我们将看到上面显示的程序的不同输出。输出为数字 1、2、25 和 145。
输出:
在这个编码示例中,我们将了解如何使用 for 循环来完成程序。前面的程序使用 while 循环来计算数字的阶乘。我们将在下面看到如何使用 for 循环计算阶乘的编码示例。
代码:
//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"); } }
在这个数字145和40585中,两个特殊数字都满足合二为一的先决条件。因此我们发现这些数字都是输出中显示的特殊数字。
输出:
文章中的代码非常有用,可以使用它们轻松地在BlueJ平台上查看某人的打印语句。既然阶乘的概念出现了,我们就可以有一个与数字阶乘相关的概念。其中N>5的前N项的阶乘和的最后一位始终为3,因为此后最后一位始终为零。此外,每当我们考虑数字的阶乘时,它们通常不用于数字中的小数或分数。因此,我们只能使用正整数来在阶乘程序中使用我们的数字。如果有分数进入程序,则程序将终止。我们还可以通过计算来计算出某个大阶乘中10的个数。我们将在另一篇文章中看到这一点。
在这篇文章中,我们主要看到了四个数字:特殊数字或一般的克里希那穆提数字。因此,我们看到了数字相对于阶乘的基本结构和行为。我们检查数字 1,2,4 和 40585 是具有相同特征的特殊数字。
以上是Java中的特殊数字的详细内容。更多信息请关注PHP中文网其他相关文章!