首頁  >  文章  >  Java  >  Java中的特殊數字

Java中的特殊數字

WBOY
WBOY原創
2024-08-30 16:26:46323瀏覽

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