English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este programa, aprenderá a mostrar todos los números Armstrong entre dos intervalos dados (bajo y alto) en Java.
Un entero positivo se llama número Armstrong de orden n si
abcd... = an + bn + cn + dn + ...
Para3La suma de los cubos de cada dígito es igual al número en sí mismo. Por ejemplo:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153es un número Armstrong.
Este programa se basa enCómo verificar si un entero es un número Armstrongconcepto.
public class Armstrong { public static void main(String[] args) { int bajo = = 999, alto = = 99999; por (int número = bajo + 1; number < high; ++number) { int digits = 0; int result = 0; int originalNumber = number; //cálculo de dígitos while (originalNumber != 0) { originalNumber /= 10; ++digits; } originalNumber = number; //El resultado contiene la suma de los n-ésimos potencias de sus dígitos while (originalNumber != 0) { int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; } if (result == number) System.out.print(number + " "); } } }
Al ejecutar el programa, la salida será:
1634 8208 9474 54748 92727 93084
En el programa anterior, se verificaron todos los números entre el intervalo alto y bajo.
Después de cada verificación, digits y result se restaurarán a 0.