English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map множество

Java Set множество

Java Вход/Вывод (I/O)

Java Reader/Writer

Другие темы Java

Java программа для проверки амстердамских чисел

Java полный список примеров

В этой программе вы узнаете, как проверить, является ли данное число амстердамским числом. Вы узнаете, как это сделать, используя циклы for и while в Java.

Положительное целое число называется Armstrong-числом, если n

abcd... = an + bn + cn + dn + ...

Для 3-разрядных чисел Армстронга сумма кубов каждого разряда равна числу本身. Например:

153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 — это число Армстронга.

Пример 1: Проверка числа Армстронга для 3-разрядных чисел

public class Armstrong {
    public static void main(String[] args) {
        int number = 371, originalNumber, remainder, result = 0;
        originalNumber = number;
        while (originalNumber != 0)
        {}}
            remainder = originalNumber % 10;
            result += Math.pow(remainder, 3);
            originalNumber /= 10;
        }
        if(result == number)
            System.out.println(number + " является числом Армстронга.");
        else
            System.out.println(number + " не является числом Армстронга.");
    }
}

При запуске программы вывод будет:

371 — это число Армстронга.
  • Сначала значение числа (number) хранится в другой целочисленной переменной originalNumber. Это связано с тем, что нам нужно сравнить конечное число с исходным числом.

  • Затем с помощью цикла while遍历originalNumber, пока он не станет равен 0.

    • В каждом итерации последний разряд num хранится в remainder.

    • Затем к result добавляется remainder, увеличенный на 3 (число разрядов), с помощью функции Math.pow().

    • Затем из originalNumber удаляется последний разряд после деления на 10.

  • В конце result и number сравниваются. Если они равны, то это число Армстронга. Если не равны, то это не число Армстронга.

Пример 2: Проверка числа Армстронга для n-разрядных чисел

public class Armstrong {
    public static void main(String[] args) {
        int number = 1634, originalNumber, remainder, result = 0, n = 0;
        originalNumber = number;
        for (; originalNumber != 0; originalNumber /= 10, ++n);
        originalNumber = number;
        for (; originalNumber != 0; originalNumber /= 10)
        {}}
            remainder = originalNumber % 10;
            result += Math.pow(remainder, n);
        }
        if(result == number)
            System.out.println(number + " является Армстронг числом.");
        else
            System.out.println(number + " не является Армстронг числом.");
    }
}

При запуске программы вывод будет:

1634 — это Армстронг число.

В этом программном обеспечении мы не используем цикл while, а используем два цикла for.

Первый цикл for используется для вычисления количества цифр в числе. Это сжатая форма:

for (;originalNumber != 0; originalNumber /= 10) {
     n++;
}

Затем, во второй итерации цикла for вычисляется result, где в каждом итерации remainder вычисляется с помощью числа n в степени.

Посетите эту страницу, чтобы узнать, какПоказать все Армстронг числа между двумя интервалами.

Java полный список примеров