ホームページ  >  記事  >  Java  >  Javaの特別な番号

Javaの特別な番号

WBOY
WBOYオリジナル
2024-08-30 16:26:46311ブラウズ

Java の特別な数値は、桁の階乗の合計が数値自体に等しい数値です。 N 桁の数字を指定できます。プログラムはまず数値を対応する桁に分解し、階乗を計算する必要があります。それが完了したら、個別に計算された階乗の合計を加算する必要があります。合計が元の番号と一致する場合、その番号は特別な番号として呼び出されます。プログラムの実行中、係数の概念と各数値の階乗を計算する Math.fact() を使用して、数字とその階乗が計算されます。この記事では、特別な番号かどうかを4桁の数字まで調べていきます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

数学的には、数値の個々の桁の階乗の合計が元の数値とどのように一致するかを示さなければなりません。数値の例の 1 つは 145 です。

145= 1! +4! +5!

この記事では、それらが機能することや、2 桁または 3 桁の数字であるその他の特別な番号についても説明します。 Java には、このプログラムを実行できる多くのプラットフォームがあります。この記事では、BlueJ プラットフォームでのプログラムの動作を確認します。私たちが知っている特別な番号が 4 つあります。 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 a ループを使用して階乗を計算する方法のコード例を以下に示します。

コード:

//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では、両方の特別な番号が1つになるための前提条件を満たしています。したがって、数値は両方とも出力に表示されている特別な数値であることがわかります。

出力:

Javaの特別な番号

Javaの特別な番号

この記事のコードは非常に便利で、BlueJ プラットフォーム上で簡単に print ステートメントを確認するために使用できます。階乗の概念が登場するので、数値階乗に関連した概念を持つことができます。最初の N 項の階乗の合計 (N>5 の場合) の最後の桁は、それ以降は常に 0 になるため、常に 3 になります。また、数値の階乗を検討するときは常に、数値の小数や分数の場合には通常は使用されません。したがって、階乗プログラムで数値を使用するには、正の整数のみを使用する必要があります。プログラムに端数が入ると、プログラムは終了します。特定の大きな階乗における 10 の数を計算によって計算することもできます。それについては別の記事で説明します。

結論

この記事では、特別な数字または一般的なクリシュナムルシー数字という主に 4 つの数字を見てきました。したがって、階乗に関する数値の基本的な構造と動作がわかります。番号 1、2、4、および 40585 が、互いに同じ特性を持つ特別な番号であることを確認します。

以上がJavaの特別な番号の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Javaの平方根次の記事:Javaの平方根