English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой программе вы научитесь отображать все амирсоны между двумя заданными интервалами (низким и высоким) в Java.
Целое число называется n-й амирсоном, если
abcd... = an + bn + cn + dn + ...
Для трехзначных амирсонов сумма кубов каждого числа равна самому числу. Например:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 - это амирсон.
Этот программа основана наКак проверить, является ли целое число амирсономконцепция.
public class Armstrong { public static void main(String[] args) { int low = 999, high = 99999; for(int number = low + 1; number < high; ++number) { int digits = 0; int result = 0; int originalNumber = number; // вычисление количества цифр while (originalNumber != 0) { originalNumber /= 10; ++digits; } originalNumber = number; // Результат содержит сумму n-й степени своих чисел while (originalNumber != 0) { int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; } if (result == number) System.out.print(number + " "); } } }
При выполнении этой программы вывод будет следующим:
1634 8208 9474 54748 92727 93084
В указанном выше программе проверялись все числа в заданном интервале между высокой и низкой.
После каждого проверки digits и result возвращаются в 0.