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中文網其他相關文章!