English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce programme, vous apprendrez à afficher tous les nombres Armstrong entre deux intervalles donnés (bas et haut) en Java.
Un nombre entier est appelé nombre Armstrong de degré n si
abcd... = an + bn + cn + dn + ...
Pour3un nombre Armstrong à n chiffres, la somme des cubes de chaque chiffre est égale au nombre lui-même. Par exemple :
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153est un nombre Armstrong.
Ce programme est basé surComment vérifier si un entier est un nombre Armstrongde la notion.
public class Armstrong { public static void main(String[] args) { int low = 999, high = 99999; for(int number = low + 1; number < high; ++number) { int digits = 0; int result = 0; int originalNumber = number; //digit calculation while (originalNumber != 0) { originalNumber /= 10; ++digits; } originalNumber = number; //The result contains the sum of the nth powers of its digits while (originalNumber != 0) { int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; } if (result == number) System.out.print(number + " "); } } }
When running the program, the output is:
1634 8208 9474 54748 92727 93084
In the above program, each number between the given high and low intervals was checked.
After each check, digits and result will be restored to 0.