J'essaie donc de trouver tous les numéros Armstrong entre 1 et 500. Je ne dois utiliser qu'une boucle For pour cela, je sais que les gens peuvent également utiliser des boucles While. Je ne sais pas ce que je fais mal ici. Cela ne me donne que 375, mais je sais que des nombres comme 153 sont également un nombre armstrong. "
Voici mon code:
public class ArmstrongNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Armstrong numbers 1-500
int D1;
int D2;
int D3;
for (int number = 1; number <= 500 ; number++) {
int temp=number;
D1=number%10; //ones
temp= temp/10;
D2=number%10; //tens
temp= temp/10;
D3=number%10; //hundreds
if( ((D1*D1*D1) + (D2*D2*D2) + (D3*D3*D3)) == number)
{
System.out.println(number + " is a Armstrong number");
}
}
}
}
Vous devez écrire D2 = temp% 10 et D3 = temp% 10 (temp au lieu du nombre).
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots