Numero Armstrong nel programma JAVA utilizzando il ciclo For
Cos'รจ il numero di Armstrong?
In un numero di Armstrong, la somma della potenza delle singole cifre รจ uguale al numero stesso.
In altre parole, la seguente equazione sarร vera
xy..z = xn + yn+.....+ zn
n รจ il numero di cifre in un numero
Ad esempio questo รจ un numero Armstrong a 3 cifre
370 = 33 + 73 + o3 = 27 + 343 + 0 = 370
Esempi di Armstrong Numbers
0, 1, 4, 5, 9, 153, 371, 407, 8208, etc.
Scriviamolo in un programma:
Java Programma per verificare se un numero รจ un numero di Armstrong
//ChecktempNumber is Armstrong or not using while loop
package com.guru99;
public class ArmstrongNumber {
public static void main(String[] args) {
int inputArmstrongNumber = 153; //Input number to check armstrong
int tempNumber, digit, digitCubeSum = 0;
tempNumber = inputArmstrongNumber;
while (tempNumber != 0)
{
/* On each iteration, remainder is powered by thetempNumber of digits n
*/
System.out.println("Current Number is "+tempNumber);
digit =tempNumber % 10;
System.out.println("Current Digit is "+digit);
//sum of cubes of each digits is equal to thetempNumber itself
digitCubeSum = digitCubeSum + digit*digit*digit;
System.out.println("Current digitCubeSum is "+digitCubeSum);
tempNumber /= 10;
}
//check giventempNumber and digitCubeSum is equal to or not
if(digitCubeSum == inputArmstrongNumber)
System.out.println(inputArmstrongNumber + " is an Armstrong Number");
else
System.out.println(inputArmstrongNumber + " is not an Armstrong Number");
}
}
Uscita
Current Number is 153 Current Digit is 3 Current digitCubeSum is 27 Current Number is 15 Current Digit is 5 Current digitCubeSum is 152 Current Number is 1 Current Digit is 1 Current digitCubeSum is 153 153 is an Armstrong Number
Java Programma per stampare i numeri di Armstrong da 0 a 999
//ChecktempNumber is Armstrong or not using while loop
package com.guru99;
public class ArmstrongNumber {
public static void main(String[] args) {
int tempNumber, digit, digitCubeSum;
for (int inputArmstrongNumber = 0; inputArmstrongNumber < 1000; inputArmstrongNumber++) {
tempNumber = inputArmstrongNumber;
digitCubeSum = 0;
while (tempNumber != 0) {
/* On each iteration, remainder is powered by thetempNumber of digits n
*/
digit = tempNumber % 10;
//sum of cubes of each digits is equal to thetempNumber itself
digitCubeSum = digitCubeSum + digit * digit * digit;
tempNumber /= 10;
}
//check giventempNumber and digitCubeSum is equal to or not
if (digitCubeSum == inputArmstrongNumber)
System.out.println(inputArmstrongNumber + " is an Armstrong Number");
}
}
}
Uscita
0 is an Armstrong Number 1 is an Armstrong Number 153 is an Armstrong Number 370 is an Armstrong Number 371 is an Armstrong Number 407 is an Armstrong Number
