Java-программа для идентификации чисел Армстронга с использованием for-цикла
Что такое число Армстронга?
Число Армстронга (также известное как нарциссическое число) — это число, равное сумме своих собственных цифр, каждой возведенной в степень, равную общему количеству цифр.
Математически, для числа с цифрами x, y, … z и n цифрами, выполняется:
xy…z = xn + yn + … + zn
Примеры чисел Армстронга включают:
0, 1, 4, 5, 9, 153, 371, 407, 8208, …
Java-программа для проверки, является ли число числом Армстронга
Ниже компактная Java-реализация, проверяющая, является ли данное целое числом Армстронга. Алгоритм итерирует по каждой цифре, накапливает куб цифры (поскольку фокус на трехзначных числах) и сравнивает сумму с исходным числом.
// Check whether a number is an Armstrong number using a while loop
package com.guru99;
public class ArmstrongNumber {
public static void main(String[] args) {
int inputArmstrongNumber = 153; // Число для теста
int tempNumber, digit, digitCubeSum = 0;
tempNumber = inputArmstrongNumber;
while (tempNumber != 0) {
System.out.println("Current Number is " + tempNumber);
digit = tempNumber % 10;
System.out.println("Current Digit is " + digit);
digitCubeSum += digit * digit * digit;
System.out.println("Current digitCubeSum is " + digitCubeSum);
tempNumber /= 10;
}
if (digitCubeSum == inputArmstrongNumber)
System.out.println(inputArmstrongNumber + " is an Armstrong Number");
else
System.out.println(inputArmstrongNumber + " is not an Armstrong Number");
}
}
Вывод
Current Number is 153 Current Digit is 3 Current digitCubeSum is 27 Current Number is 15 Current Digit is 5 Current digitCubeSum is 152 Current Number is 1 Current Digit is 1 Current digitCubeSum is 153 153 is an Armstrong Number
Java-программа для перечисления всех чисел Армстронга от 0 до 999
Следующая программа демонстрирует, как перечислить каждое число Армстронга в диапазоне 0–999. Она использует for цикл для диапазона и while цикл для обработки каждого кандидата.
// Enumerate Armstrong numbers between 0 and 999
package com.guru99;
public class ArmstrongNumber {
public static void main(String[] args) {
for (int inputArmstrongNumber = 0; inputArmstrongNumber < 1000; inputArmstrongNumber++) {
int tempNumber = inputArmstrongNumber;
int digitCubeSum = 0;
while (tempNumber != 0) {
int digit = tempNumber % 10;
digitCubeSum += digit * digit * digit;
tempNumber /= 10;
}
if (digitCubeSum == inputArmstrongNumber)
System.out.println(inputArmstrongNumber + " is an Armstrong Number");
}
}
}
Вывод
0 is an Armstrong Number 1 is an Armstrong Number 153 is an Armstrong Number 370 is an Armstrong Number 371 is an Armstrong Number 407 is an Armstrong Number
java
- Java Hello World: ваша первая программа
- Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
- Перегрузка конструкторов в Java — Объяснение с практическими примерами кода
- Java-программа для определения, является ли число простым
- Java-программа для вывода простых чисел от 1 до 100 — пошаговое руководство
- Генерация последовательности Фибоначчи в Java: примеры for, while и рекурсии
- Реверс строки в Java с использованием рекурсии — пошаговое руководство
- Java-проверка чисел-палиндромов: алгоритмы с while и for циклами
- Алгоритм сортировки вставками в Java: понятный пример и пошаговое руководство
- Сортировка выбором в Java: пошаговый пример и полный код