Eine starke Zahl ist eine spezielle Zahl, die als Addition einer Fakultät jeder Ziffer der Zahl definiert werden kann, die der Zahl selbst entspricht. Um das Konzept einer starken Zahl besser zu verstehen, schauen Sie sich das folgende Beispiel an:
WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 ProbetestsDie Zahl 145 ist eine starke Zahl. Denn wenn wir die Fakultäten jeder Ziffer dieser Zahl addieren, erhalten Sie als Summe die Zahl, die selbst 145 ist. 1! + 4! + 5! = 1 + 24 + 120 = 145.
Lassen Sie uns nun einen Blick auf die Logik werfen, mit der in Java überprüft wird, ob eine Zahl eine starke Zahl ist oder nicht. Nachfolgend finden Sie eine Beschreibung zur Überprüfung, ob eine Zahl eine starke Zahl ist oder nicht.
Es ist sehr einfach, die Logik einer starken Zahl in Java zu implementieren; Schauen wir uns unten einige Beispiele an.
Code:
// Program in Java to check if a given number is a strong number or not import java.util.*; public class Main { public static void main(String[] args) { int n,i; int fact_n,lastdig; Scanner sc = new Scanner(System.in); System.out.print("\nEnter the number : " ); n = sc.nextInt(); int total = 0; int temp_n = n; while(n != 0) { i = 1; fact_n = 1; lastdig = n % 10; while(i <= lastdig) { fact_n = fact_n * i; i++; } total = total + fact_n; n = n / 10; } if(total == temp_n) System.out.println(temp_n + " is a strong number\n"); else System.out.println(temp_n + " is not a strong number\n"); System.out.println(); } }
Ausgabe:
Das obige Java-Programm verfügt über alle Variablen, die in der Logik des Programms erläutert werden. Es findet zunächst den Mod oder die letzte Ziffer der Zahl, bis die Zahl nicht Null ist. Sobald dies erledigt ist, erhöht es die Zahl und speichert sie in fact_n, um die Fakultät der Zahl herauszufinden. Die Summe oder Addition befindet sich nicht in einer While-Schleife, in der die Fakultäten addiert werden, bis die Bedingung von i<= lastdig nicht erfüllt ist. Nach der Addition von „total“ und wenn fact_n nicht gleich „temp_n“ ist, ist die angegebene Zahl nicht faktoriell. Wenn andererseits die Summe und der Fakt_n gleich sind, handelt es sich bei der genannten Zahl um eine starke Zahl.
Eine andere Möglichkeit, eine starke Zahl zu finden, besteht darin, starke Zahlen zu verwenden. Die hier angegebene Nummer kann mithilfe des Befehlszeilenparameters an das Programm übergeben werden.
Code:
public class Main { static int f[] = new int[10]; // Finding factorial for number 0 to 9 static void FirstCompute() { f[0] = f[1] = 1; for (int i = 2; i<10; ++i) f[i] = f[i-1] * i; } // If x is strong true is returned static boolean isStrong(int x) { int Sum_fact = 0; // Traverse through all digits of x. int temp_n = x; while (temp_n>0) { Sum_fact += f[temp_n%10]; temp_n /= 10; } return (Sum_fact == x); } // main function public static void main (String[] args) { // calling preCompute FirstCompute(); // first pass int x = 145; if(isStrong(x)) { System.out.println("Yes"); } else System.out.println("No"); // second pass x = 534; if(isStrong(x)) { System.out.println("Yes"); } else System.out.println("No"); } }
Dies ist eine weitere Möglichkeit herauszufinden, ob die Zahl eine starke Zahl ist oder nicht. Hier können Sie die Eingaben des Benutzers zur Laufzeit übernehmen, indem Sie die Befehlszeilenargumente verwenden. Die Logik bleibt hier dieselbe, mit dem Unterschied, dass die Eingabe zur Laufzeit als Argumente gesendet wird. Die Ausgabe dieses Programms ist entweder JA oder NEIN, je nachdem, ob es sich bei der Zahl um eine starke Zahl handelt oder nicht.
Ausgabe:
Das Programm hier prüft, ob zwei Zahlen vorhanden sind, ob es starke Zahlen sind oder nicht. Hier werden die Fakultäten aller Ziffern von 0 bis 9 ermittelt. Die Funktion isStrong überprüft dann, ob die Zahl stark ist oder nicht. Es durchläuft alle Ziffern der angegebenen Zahl, bis der Mod existiert. Die Hauptfunktion überprüft hier, ob die Funktion precompute() korrekte Ergebnisse liefert. Von einem Benutzer werden zwei Nummern akzeptiert, was dazu führt, dass überprüft und angegeben wird, ob die Nummer eine starke Nummer ist oder nicht. Die Hauptfunktion ruft zunächst die Funktion auf, die die Fakultät jeder Ziffer berechnet. Die Funktion isStrong() prüft dann die Summe der Fakultäten jeder Ziffer. Es berechnet es auch und gibt das Ergebnis in einem booleschen Wert zurück, der wahr oder falsch ist. Im Wesentlichen liefert nur die Übergabe der Zahl das Ergebnis gemäß der genannten Ausgabe. Wenn die Zahl stark ist, wird „true“ von der isStrong-Funktion zurückgegeben, und wenn nicht, wird „false“ zurückgegeben.
Eine starke Zahl ist eine Zahl, deren Summe der Fakultäten jeder Ziffer die Zahl selbst ist. Eine normale Java-Funktion oder eine Funktion, die boolesche Werte verwendet oder einfach die Zahlen als Argumente übergibt, kann eine starke Zahl identifizieren. Die Logik verwendet einfache Operationen wie Mod, Division und Addition.
Das obige ist der detaillierte Inhalt vonStarke Zahl in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!