Was ist die Armstrong-Zahl in Java? Es sind Voraussetzungen und Algorithmus
Veröffentlicht: 2021-04-08Inhaltsverzeichnis
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:
- Nehmen Sie eine ganzzahlige Variable x
- Wert wird der Variablen x zugewiesen
- Die Ziffern des Werts werden aufgeteilt
- Der Kubikwert jeder Ziffer wird gefunden
- Addiere die Werte aller Würfel
- Die Ausgabe wird in der Summenvariablen gespeichert
- 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.