Java-программа для печати чисел Армстронга от 1 до 1000

Вот программа на Java, которая печатает числа Армстронга от 1 до 1000:

public class ArmstrongNumbers {
    public static void main(String[] args) {
        for (int number = 1; number <= 1000; number++) {
            if (isArmstrong(number)) {
                System.out.println(number);
            }
        }
    }
    public static boolean isArmstrong(int number) {
        int originalNumber = number;
        int sum = 0;
        while (number > 0) {
            int digit = number % 10;
            sum += Math.pow(digit, getNumberOfDigits(originalNumber));
            number /= 10;
        }
        return sum == originalNumber;
    }
    public static int getNumberOfDigits(int number) {
        int count = 0;
        while (number != 0) {
            number /= 10;
            count++;
        }
        return count;
    }
}

Эта программа перебирает числа от 1 до 1000 и проверяет, является ли каждое число числом Армстронга, с помощью метода isArmstrong(). Метод isArmstrong()вычисляет сумму цифр, возведенных в степень количества цифр, с помощью метода getNumberOfDigits(). Если сумма равна исходному числу, она считается числом Армстронга.

Вот несколько альтернативных способов найти числа Армстронга:

  1. Использование вложенного цикла:

    • Перебор чисел от 1 до 1000.
    • Из каждого числа извлеките цифры и вычислите сумму кубов.
    • Если сумма равна исходному числу, выведите ее как число Армстронга.
  2. Использование класса String:

    • Перебор чисел от 1 до 1000.
    • Преобразуйте каждое число в строку.
    • Извлеките цифры из строки и вычислите сумму кубов.
    • Если сумма равна исходному числу, выведите ее как число Армстронга.
  3. Использование рекурсии:

    • Определите рекурсивную функцию, которая принимает число в качестве аргумента.
    • Если число меньше 10, проверьте, является ли это числом Армстронга, и верните результат.
    • В противном случае извлеките последнюю цифру, вычислите сумму кубов и рекурсивно вызовите функцию с оставшимися цифрами.
    • Если сумма равна исходному числу, выведите ее как число Армстронга.