English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой программе вы узнаете, как проверить, является ли данное число амстердамским числом. Вы узнаете, как это сделать, используя циклы for и while в Java.
Положительное целое число называется Armstrong-числом, если n
abcd... = an + bn + cn + dn + ...
Для 3-разрядных чисел Армстронга сумма кубов каждого разряда равна числу本身. Например:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 — это число Армстронга.
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 сравниваются. Если они равны, то это число Армстронга. Если не равны, то это не число Армстронга.
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 в степени.
Посетите эту страницу, чтобы узнать, какПоказать все Армстронг числа между двумя интервалами.