Wie überprüfe ich die Armstrong-Zahlen in Java?

Wie Uberprufe Ich Die Armstrong Zahlen In Java



Der ' Armstrong-Nummer „gibt Einblicke in Zahlenmuster und mathematische Eigenschaften. Es hilft beim Verständnis der Konzepte der Zahlentheorie und bei der Erforschung selbstreferenzieller Beziehungen innerhalb von Zahlen. Darüber hinaus trägt es dazu bei, die Genauigkeit von Daten oder Benutzereingaben sicherzustellen. Dies kann nützlich sein, wenn die Eingabeintegrität von entscheidender Bedeutung ist.

Dieser Blog hilft bei der Suche nach der Armstrong-Nummer für bereitgestellte Daten.







Wie überprüfe ich Armstrong-Zahlen in Java?

Der ' Armstrong-Nummer ” wird überprüft, um Zahlen zu identifizieren, die eine bestimmte mathematische Eigenschaft erfüllen. Wenn der bereitgestellte Wert derselbe ist wie die Addition seiner eigenen Ganzzahlen, hochgerechnet auf die Gesamtzahl der Ganzzahlen des bereitgestellten Werts.



Schauen wir uns nun zum besseren Verständnis einige Beispiele an:



Beispiel 1: Identifizierung der Armstrong-Zahlen





Besuchen Sie das Programm, um zu überprüfen, ob es sich bei der angegebenen Nummer um eine Armstrong-Nummer handelt oder nicht:

import java.util.Scanner;
// Erforderliche Dienstprogramme importieren.
öffentliche Klasse ArmstrongChecker {
Public static void Main ( Zeichenfolge [ ] args )
// Das Wichtigste deklarieren ( ) Methode
{
Scanner-DemoTest = neuer Scanner ( System.in ) ;
Systemausdruck ( „Geben Sie die zu prüfende Nummer ein:“ ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
int Ziffern = 0 ;
während ( OrigNum ! = 0 ) {
OrigNum / = 10 ;
Ziffern++;
}

int Summe = 0 ;
int temp = numEle;
für ( int i = 0 ; ich < Ziffern; i++ ) {
int Du = Temp % 10 ;
Summe += Math.pow ( Du , Ziffern ) ;
Temp / = 10 ;
}

Wenn ( Summe == Namen ) {
System.out.println ( Namen + „ist eine Armstrong-Zahl.“ ) ;
} anders {
System.out.println ( Namen + „erfüllt nicht die Bedingung für die Armstrong-Nummer.“ ) ;
}
}
}


Beschreibung des obigen Codes:



    • Zunächst das Objekt für die „ Scanner „-Klasse wird erstellt, um eine Ganzzahl vom Endbenutzer mithilfe der „ nextInt() ”-Methode und speichern Sie die abgerufenen Daten in einer Variablen namens „ NAMEN “.
    • Als nächstes wird dieser abgerufene Wert der Variablen vom Typ int mit dem Namen „ zugewiesen. origNum ” und initialisiert eine Variable mit dem Namen „ Ziffern ' mit ' 0 “.
    • Dann ist die ' während Es wird eine Schleife verwendet, die origNum wiederholt durch 10 dividiert und die Ziffernvariable jedes Mal erhöht, bis origNum 0 wird.
    • Danach deklarieren Sie eine Variable „ Summe ” und legen Sie den Wert von „ fest NAMEN ' zum ' Temp ” variabel. Und nutzt die „ für ”-Schleife, die bis zum „ Ziffern ”Variablenwert.
    • Und in jeder „for“-Schleifeniteration wird die letzte Ziffer von „ Temp „wird mit dem Modulo-Operator extrahiert und in einer neuen Variablen gespeichert“ Du “. Dann wird die Potenz der Ziffer zu „ addiert Summe ”-Variable mit der Math.pow()-Methode.
    • Am Ende ist das „ ansonsten Die Anweisung wird verwendet, um zu bestimmen, ob die berechnete Summe mit der ursprünglich vom Benutzer angegebenen Zahl übereinstimmt. Wenn beide Werte gleich sind, handelt es sich bei der angegebenen Zahl um eine Armstrong-Zahl und umgekehrt.

Nach der Zusammenstellung:


Die Ausgabe zeigt, dass es sich bei der angegebenen Nummer um eine Armstrong-Nummer handelt.

Beispiel 2: Finden Sie alle vorhandenen Armstrong-Zahlen innerhalb der angegebenen Grenze

Um alle Armstrong-Zahlen bis zum angegebenen Wert oder Grenzwert zu finden, rufen Sie den folgenden Code auf:

import java.util.Scanner;
import java.lang.Math;

öffentliche Klasse ArmstsrongNumberExample
{
statischer boolescher Wert isArmsNum ( int j ) {
int Buff, singDig = 0 , Ende = 0 , kalk = 0 ;
polieren =j;
während ( polieren > 0 ) {
Buff = Buff / 10 ;
singDig++;
}
buff = j;
während ( polieren > 0 )
{
Ende = Buff % 10 ;
berechnen += ( Mathe.pow ( Ende, singDig ) ) ;
Buff = Buff / 10 ;
}
Wenn ( J ==berechnet )
zurückkehren WAHR ;
anders zurückkehren FALSCH ;
}
Public static void Main ( String-Argumente [ ] )
// Das Wichtigste deklarieren ( ) Methode
{
int proNum;
Scanner sc = neuer Scanner ( System.in ) ;
Systemausdruck ( „Obergrenze einfügen:“ ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( „Armstrong-Nummer bis zum angegebenen Limit“ + proNum + ' Sind: ' ) ;
für ( int k = 0 ; k < =forNum; k++ )
Wenn ( isArmsNum ( k ) )
Systemausdruck ( k+ ',' ) ;
}
}


Erklärung des obigen Codes:

    • Deklarieren Sie zunächst mehrere Variablen „buff“, „singDig“, „end“ und „calc“ mit dem Typ „ int “, innerhalb der booleschen Typmethode namens „ isArmsNum() “. Es erhält einen Parameter, der der Variablen mit dem Namen „ polieren “.
    • Als nächstes wird das „ während Es wird eine Schleife deklariert, die iteriert, bis der Buff-Wert „ erreicht. 0 “. Danach wird das „ polieren „ist der Modul von „ 10 ” um die letzte Ziffer aus dem angegebenen Wert zu entfernen und den Wert zu erhöhen singDig ” variabel.
    • Dann ist die ' während ”-Schleife wird erneut über der „“-Schleife verwendet. polieren ”-Variable zum Extrahieren der letzten Ziffer. Die Kubikzahl der Ziffer wird berechnet, indem man „ Mathematik. pow() ”-Methode und dann zur „ kalk ” variabel.
    • Jetzt die ' Wenn Die Anweisung wird verwendet, um zu überprüfen, ob der berechnete Wert in der Anweisung „ kalk Die Variable „entspricht dem vom Endbenutzer bereitgestellten Wert oder nicht.“ Zeigen Sie die Nachricht auch entsprechend an.
    • Anschließend werden die Eingaben des Endbenutzers mit Hilfe des „ Scanner ” Dienstprogramm in der „ hauptsächlich() ' Methode.
    • Am Ende ist das „ für Es wird eine Schleife verwendet, die bis zum angegebenen Wert iteriert, und jede Iteration wird als „ isArmsNum() ' Methode. Diese Methode empfängt alle Werte, bis der angegebene Wert erreicht ist, und prüft jeden Wert auf die Armstrong-Zahl.

Nach der Zusammenstellung:


Die Ausgabe zeigt alle Armstrong-Zahlen bis zum angegebenen Wert an, der „ 370 ' in diesem Fall.

Abschluss

Um eine Armstrong-Nummer zu finden, zählen Sie zunächst die Ziffern, die die angegebene Nummer enthält. Extrahieren Sie dann mithilfe von Modul- und Divisionsoperationen nacheinander jede Ziffer aus der bereitgestellten Zahl. Erhöhen Sie als Nächstes jede Ganzzahl des Werts mit der Gesamtzahl der Ganzzahlen und addieren Sie den resultierenden Wert zu einer neuen Variablen. Überprüfen Sie abschließend, ob der erhaltene Variablenwert mit der angegebenen Zahl übereinstimmt. Wenn er gleich ist, handelt es sich bei der bereitgestellten Zahl um eine Armstrong-Zahl, andernfalls nicht.