首页 >Java >java教程 >Java中的特殊数字

Java中的特殊数字

WBOY
WBOY原创
2024-08-30 16:26:46397浏览

Java 中的特殊数字是数字阶乘之和等于数字本身的数字。它可以是N位数字。该程序首先将数字分解为相应的数字并计算它们的阶乘。完成后,应添加各个计算阶乘的总和。如果总和与原始数字匹配,则该数字被称为特殊数字。当程序运行时,使用模数概念和 Math.fact() 计算数字及其阶乘,Math.fact() 计算每个数字的阶乘。在这篇文章中,我们将检查 4 位数字是否是特殊号码。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

从数学上讲,我们必须展示一个数字的各个数字的阶乘之和如何与原始数字匹配。 145 就是这样一个数字的例子。

145=1! +4! +5!

在本文中,我们还将看到它们的工作原理以及其他此类特殊号码,可以是 2 位或 3 位数字。 Java 有许多平台可以运行该程序。在本文中,我们将检查该程序在 BlueJ 平台上的运行情况。有四个我们已知的特殊数字。 1,2, 145 和 40585。

Java 中特殊数字的示例

在这个程序中,我们将输入一个号码并检查该号码是否特殊。我们间接检查数字的阶乘总和是否等于原始数字。

示例#1

代码:

//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。

输出:

Java中的特殊数字

Java中的特殊数字

Java中的特殊数字

Java中的特殊数字

示例#2

在这个编码示例中,我们将了解如何使用 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中,两个特殊数字都满足合二为一的先决条件。因此我们发现这些数字都是输出中显示的特殊数字。

输出:

Java中的特殊数字

Java中的特殊数字

文章中的代码非常有用,可以使用它们轻松地在BlueJ平台上查看某人的打印语句。既然阶乘的概念出现了,我们就可以有一个与数字阶乘相关的概念。其中N>5的前N项的阶乘和的最后一位始终为3,因为此后最后一位始终为零。此外,每当我们考虑数字的阶乘时,它们通常不用于数字中的小数或分数。因此,我们只能使用正整数来在阶乘程序中使用我们的数字。如果有分数进入程序,则程序将终止。我们还可以通过计算来计算出某个大阶乘中10的个数。我们将在另一篇文章中看到这一点。

结论

在这篇文章中,我们主要看到了四个数字:特殊数字或一般的克里希那穆提数字。因此,我们看到了数字相对于阶乘的基本结构和行为。我们检查数字 1,2,4 和 40585 是具有相同特征的特殊数字。

以上是Java中的特殊数字的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn