Was ist die Armstrong-Zahl in Java? Es sind Voraussetzungen und Algorithmus

Veröffentlicht: 2021-04-08

Inhaltsverzeichnis

Was ist die Armstrong-Zahl?

Eine gegebene Zahl x heißt Armstrong-Zahl der Ordnung n, wenn sie gleich der Summe ihrer Ziffern hoch n ist, dh:

abc= pow(a,n) + pow(b,n) + pow(c,n)

Eine positive ganze Zahl mit n Ziffern ist eine Armstrong-Zahl (der Ordnung 3), wenn sie gleich der Summe der Kuben ihrer Ziffern ist. Zum Beispiel:

Eingabe: 153

Ausgang: Ja

1*1*1 + 5*5*5 + 3*3*3 = 153

153 ist also eine Armstrong-Zahl

Eingabe: 121

Ausgang: Nein

1*1*1 + 2*2*2 + 1*1*1 = 10

120 ist also keine Armstrong-Zahl.

Voraussetzungen und Algorithmus

In diesem Artikel lernen wir zu prüfen, ob eine eingegebene Zahl eine Armstrong-Zahl ist oder nicht. Dazu verwenden wir eine While-Schleife und eine For-Schleife in Java. Um dieses Programm zu verstehen, benötigen wir Kenntnisse zu folgenden Themen in Java:

  • Java if-else-Anweisung
  • Java für Schleife
  • Java-While- und Do-While-Schleife

Algorithmus:

  1. Nehmen Sie eine ganzzahlige Variable x
  2. Wert wird der Variablen x zugewiesen
  3. Die Ziffern des Werts werden aufgeteilt
  4. Der Kubikwert jeder Ziffer wird gefunden
  5. Addiere die Werte aller Würfel
  6. Die Ausgabe wird in der Summenvariablen gespeichert
  7. Wenn Summe=X, drucke die Armstrong-Zahl

Wenn Summe != X, drucke keine Armstrong-Zahl

Programm zum Überprüfen der Armstrong-Nummer in Java

1. Armstrong-Nummer in Java der Ordnung 3

Code:

öffentliche Klasse Armstrong{

public static void main(String[] args) {

int x=0,a,temp;

int n=153;//Es ist die Nummer, um Armstrong zu überprüfen

temp=n;

solange (n>0)

{

a=n%10;

n=n/10;

x=x+(a*a*a);

}

if(temp==x)

System.out.println("Armstrong-Nummer");

anders

System.out.println("Keine Armstrong-Nummer");

}

}

Ausgabe:

Erläuterung

Zuerst wird der Wert einer gegebenen Zahl N in einer anderen Integer-Variablen x gespeichert. Dies geschieht, da wir die Werte der ursprünglichen Zahl und der endgültigen Zahl am Ende vergleichen müssen. Mit einer While-Schleife wird die Zahl N durchlaufen, bis sie gleich 0 ist. Bei jeder Iteration wird die letzte Ziffer von N in a gespeichert.

Dann wird das Ergebnis durch Kubieren von a oder mit Math berechnet. pow() und Hinzufügen zu x. Wenn die letzte Ziffer von N entfernt wird, wird es durch 10 dividiert. Schließlich werden =, temp und X verglichen. Wenn sie gleich sind, ist es eine Armstrong-Zahl. Ansonsten ist es nicht.

2. Armstrong-Nummer in Java der Ordnung n

Code:

öffentliche Klasse Armstrong

{

/* Funktion zur Berechnung einer Erhöhung auf die

Leistung b */

int Potenz (int a, lang b)

{

wenn ( b == 0)

Rückgabe 1;

wenn (b%2 == 0)

Rückleistung(a, b/2)*Leistung(a, b/2);

gib a*power(a, b/2)*power(a, b/2) zurück;

}

/* Funktion zur Berechnung der Reihenfolge der Zahl */

int-Reihenfolge (int a)

{

Ganzzahl n = 0;

während (a != 0)

{

n++;

a = a/10;

}

gib n zurück;

}

// Funktion zum Prüfen, ob die angegebene Zahl eine Armstrong-Zahl ist oder nicht

boolean Armstrong (int a)

{

// Aufruf der Bestellfunktion

int n = Auftrag (a);

int temp=a, summe=0;

während (temp!=0)

{

int r = temp%10;

Summe = Summe + Potenz(r,n);

temp = temp/10;

}

// Wenn es die Armstrong-Bedingung erfüllt

zurück (Summe == a);

}

// Treiberprogramm

public static void main(String[] args)

{

Armstrong obj = new Armstrong();

int a = 153;

System.out.println(obj.isArmstrong(a));

a = 1276;

System.out.println(obj.isArmstrong(a));

}

}

Ausgang :

Erläuterung

In diesem Programm haben wir anstelle einer While-Schleife Rekursion verwendet. Die erste Funktion wird verwendet, um eine Zahl a potenziert mit b zu berechnen. Math.pow(a,b) kann auch dafür verwendet werden. Die zweite Funktion prüft die Reihenfolge der Zahl, z. B. 153 hat die Ordnung 3. Schließlich wird eine boolesche Funktion Armstrong verwendet, um zurückzugeben, ob die Zahl Armstrong ist oder nicht. Dann wird ein Objekt der Armstrong-Klasse verwendet, um die Funktionen aufzurufen.

Java-Programm zum Drucken von Armstrong-Nummern im angegebenen Bereich

Code:

öffentliche Klasse Armstrong

{

public static void main(String[] arg)

{

int i=0,x;

System.out.println("Armstrong-Zahlen zwischen 0 und 999");

solange (i<1000)

{

x=armstrongOderNot(i);

wenn(x==i)

System.out.println(i);

i++;

}

}

statisch int armstrongOrNot(int n)

{

int c,a=0;

während(n!=0)

{

c=n%10;

a=a+(c*c*c);

n/=10 ;

}

gib a zurück;

}

}

Ausgabe:

Erklärung: In diesem Programm wird jede Zahl zwischen dem gegebenen Intervall niedrig und hoch geprüft. Nach jedem Scheck werden die Summe und die Anzahl der Stellen auf 0 zurückgesetzt.

Fazit

In diesem Artikel haben wir eine Armstrong-Nummer in Java ausführlich behandelt. Wir haben gesehen, wie man überprüft, ob eine Zahl eine Armstrong-Zahl der Ordnung n und Ordnung 3 ist. Wir haben auch gesehen, wie man alle Armstrong-Zahlen zwischen einer unteren und einer oberen Grenze erhält.

Wenn Sie Ihre Java-Kenntnisse verbessern möchten, müssen Sie diese Java-Projekte in die Hände bekommen. Wenn Sie mehr über Java und Full-Stack-Entwicklung erfahren möchten, schauen Sie sich das Executive PG-Programm in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen und mehr als 9 Projekte bietet und Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Wenn Sie mehr über Java erfahren und in Ihrer technischen Karriere aufsteigen möchten, erkunden Sie den kostenlosen Java-Online-Kurs von Indiens größtem Online-Hochschulbildungsunternehmen, upGrad. Kontaktieren Sie uns für weitere Informationen.

Werden Sie Full-Stack-Entwickler

UPGRAD UND IIIT-BANGALORES PG-DIPLOM IN SOFTWAREENTWICKLUNG
REGISTRIEREN SIE SICH JETZT @ UPGRAD