Heim  >  Artikel  >  Java  >  Starke Zahl in Java

Starke Zahl in Java

WBOY
WBOYOriginal
2024-08-30 16:27:10284Durchsuche

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 Probetests

Die 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.

  • Nehmen Sie eine benutzerdefinierte Nummer oder eine Nummer als Eingabe des Benutzers. Speichern Sie diese Nummer in einer benutzerdefinierten Variablen. Kopieren Sie nun diese Nummer in eine andere temporäre benutzerdefinierte Variable. Diese Variable wird für Berechnungszwecke verwendet. Sie können die benutzerdefinierte Variable als „n“ und die temporäre Variable als „temp_n“ benennen.
  • Jetzt initialisieren Sie eine weitere Variable, die die Summe der Fakultätsziffern speichert. Sie können diese Variable als „Gesamt“ bezeichnen.
  • Sie müssen auch die letzte Ziffer der angegebenen Zahl „n“ finden. Speichern Sie dieses Ergebnis in einer Variablen, die das Ergebnis speichert, sagen wir „lastdig = n % 10“.
  • Jetzt können Sie die Fakultät von „lastdig“ finden. Jetzt können Sie die Fakultät dieser Zahl speichern und sie als „fact_n“ benennen.
  • Sobald dies erledigt ist, können Sie die Fakultät zu „total“ hinzufügen. Dies kann durch die Verwendung von total = total + fact_n.
  • erfolgen
  • Jetzt können Sie die letzte Ziffer von „n“ entfernen, da sie nicht mehr benötigt wird.
  • Wiederholen Sie nun die Schritte von Schritt 3 bis Schritt 6, bis die Bedingung n > 0 ist zufrieden.
  • Sie können hierfür eine Schleife verwenden. Es kann verwendet werden, um den Zustand einer starken Zahl zu überprüfen. Wenn die Bedingung total == temp_n erfüllt ist, ist die angegebene Zahl eine starke Zahl, andernfalls nicht.

Beispiele für starke Zahlen in Java

Es ist sehr einfach, die Logik einer starken Zahl in Java zu implementieren; Schauen wir uns unten einige Beispiele an.

Beispiel #1

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:

Starke Zahl in Java

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.

Beispiel #2

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:

Starke Zahl in Java

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.

Fazit

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Anagrammprogramm in JavaNächster Artikel:Anagrammprogramm in Java