|
Beispiel: 153
Exponent: 3, (Da die Zahl aus 3 Ziffern besteht)
1*1*1 + 5*5*5 + 3*3*3 = 153
public class Main {
public static void main(String[] args) {
Main m = new Main();
int x = 0;
int y = 99999;
int zaehler = 0;
for (int zahl = x; zahl <= y; zahl++) {
if (m.isArmstrong("" + zahl)) {
System.out.println("Ist eine Armstrongzahl");
zaehler++;
System.out.println(zahl);
}
}
System.out.println(zaehler + " Armstrongzahlen");
}
public int countZiff(String zahl) {
int cz = 0;
if (zahl.contains("-")) {
System.out.println("Zahl muss positiv sein!");
} else {
cz = zahl.length();
}
return cz;
}
public int potenziere(int zahl, int pot) {
int erg = 1;
if (pot > 0) {
for (int i = 1; i <= pot; i++) {
erg = erg * zahl;
}
}
return erg;
}
public boolean isArmstrong(String zahl) {
int erg = 0;
int ziffAnz;
// Zifferanzahl
ziffAnz = countZiff(zahl);
for (int i = 0; i < ziffAnz; i++) {
// Ziffer hoch Zifferanzahl
erg = erg + potenziere(zahl.charAt(i) - 48, ziffAnz);
}
if (zahl.equals("" + erg)) {
return true;
} else {
return false;
}
}
} |