Как проверить числа Армстронга в Java?

Kak Proverit Cisla Armstronga V Java



число Армстронга ” дает представление о числовых закономерностях и математических свойствах. Это помогает в понимании концепций теории чисел и изучении самореферентных отношений внутри чисел. Кроме того, это помогает обеспечить точность данных или пользовательского ввода. Это может быть полезно, когда целостность ввода имеет решающее значение.

Этот блог помогает найти число Армстронга для предоставленных данных.







Как проверить числа Армстронга в Java?

число Армстронга ” проверяется, чтобы идентифицировать числа, которые удовлетворяют определенному математическому свойству. Если предоставленное значение совпадает с суммированием его собственных целых чисел, возведенных в степень общего количества целых чисел предоставленного значения.



Теперь давайте рассмотрим несколько примеров для большего понимания:



Пример 1. Определение чисел Армстронга





Посетите программу, чтобы проверить, является ли предоставленный номер номером Армстронга или нет:

импортировать java.util.Scanner;
// Импорт необходимых утилит.
открытый класс ArmstrongChecker {
публичная статическая пустота главная ( Нить [ ] аргументы )
// Объявление главной ( ) метод
{
Сканер demoTest = новый сканер ( System.in ) ;
System.out.print ( 'Введите номер для проверки:' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
целые цифры = 0 ;
пока ( origNum ! '=' 0 ) {
origNum / '=' 10 ;
цифры++;
}

инт сумма '=' 0 ;
интервал темп = numEle;
для ( я = 0 ; я < цифры; я++ ) {
инт ты = температура % 10 ;
сумма += Math.pow ( ты , цифры ) ;
температура / '=' 10 ;
}

если ( сумма == имена ) {
System.out.println ( имена + 'является числом Армстронга'. ) ;
} еще {
System.out.println ( имена + «Не удовлетворяет условию числа Армстронга». ) ;
}
}
}


Описание приведенного выше кода:



    • Во-первых, объект для « Сканер » создается для получения целого числа от конечного пользователя с помощью « следующийInt() » и сохраните полученные данные в переменной с именем « ИМЕНА ».
    • Затем это полученное значение присваивается переменной типа int с именем « origNum ' и инициализирует переменную с именем ' цифры ' с ' 0 ».
    • Затем « пока », который многократно делит origNum на 10 и каждый раз увеличивает переменную digits до тех пор, пока origNum не станет равным 0.
    • После этого объявите переменную « сумма ' и установите значение ' ИМЕНА ” к “ температура ' переменная. И использует « для », который повторяется до « цифры ” значение переменной.
    • И в каждой итерации цикла for последняя цифра « температура » извлекается с помощью оператора модуля и сохраняется в новой переменной « ты ». Затем куб цифры затем добавляется к « сумма ” с помощью метода Math.pow().
    • В итоге « если еще ” используется для определения того, равна ли рассчитанная сумма исходному числу, указанному пользователем. Если оба значения равны, то предоставленное число является числом Армстронга и наоборот.

После компиляции:


Вывод показывает, что предоставленное число является числом Армстронга.

Пример 2. Поиск всех номеров Армстронга в пределах заданного лимита

Чтобы найти все числа Армстронга в соответствии с указанным значением или пределом, воспользуйтесь приведенным ниже кодом:

импортировать java.util.Scanner;
импортировать java.lang.Math;

открытый класс ArmstsrongNumberExample
{
статическое логическое значение isArmsNum ( интервал j ) {
инт бафф, петькопать '=' 0 , конец '=' 0 , вычислять '=' 0 ;
бафф =j;
пока ( бафф > 0 ) {
бафф = бафф / 10 ;
петьDig++;
}
бафф = j;
пока ( бафф > 0 )
{
конец = бафф % 10 ;
расчет += ( Math.pow ( конец, петьКопать ) ) ;
бафф = бафф / 10 ;
}
если ( Дж == расчет )
возвращаться истинный ;
еще возвращаться ЛОЖЬ ;
}
публичная статическая пустота главная ( Строковые аргументы [ ] )
// Объявление главной ( ) метод
{
целое проЧИСЛО;
Сканер СК = новый сканер ( System.in ) ;
System.out.print ( 'Вставьте верхний предел:' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Число Армстронга до установленного предела' + proNum + ' являются: ' ) ;
для ( инт к '=' 0 ; к < =дляЧисла; к++ )
если ( isArmsNum ( к ) )
System.out.print ( к+ ', ' ) ;
}
}


Объяснение приведенного выше кода:

    • Во-первых, объявите несколько переменных «buff», «singDig», «end» и «calc», имеющих тип « инт ', внутри метода логического типа с именем ' isArmsNum() ». Он получает параметр, который присваивается переменной с именем « бафф ».
    • Далее « пока объявляется цикл, который повторяется до тех пор, пока значение баффа не достигнет « 0 ». После этого « бафф ” – это модуль на “ 10 », чтобы удалить последнюю цифру из предоставленного значения и увеличить « петькопать ' переменная.
    • Затем « пока » снова используется над « бафф ” для извлечения последней цифры. Куб цифры рассчитывается с использованием « Мат. пау () », а затем добавлен в « вычислять ' переменная.
    • Сейчас ' если » используется для проверки того, является ли вычисленное значение в « вычислять ” соответствует значению, предоставленному конечным пользователем, или нет. Кроме того, отобразите сообщение соответствующим образом.
    • После этого ввод от конечного пользователя извлекается с помощью « Сканер ” полезность в “ основной() метод.
    • В итоге « для », который выполняет итерацию до предоставленного значения, и каждая итерация называется « isArmsNum() метод. Этот метод получает все значения до тех пор, пока не будет достигнуто предоставленное значение, и проверяет каждое значение на наличие числа Армстронга.

После компиляции:


На выходе отображаются все числа Армстронга до указанного значения, которое равно « 370 ' в этом случае.

Заключение

Чтобы найти число Армстронга, сначала сосчитайте цифры, которые содержит указанное число. Затем извлеките каждую цифру из предоставленного числа одну за другой с помощью операций модуля и деления. Затем возведите каждое целое число значения в степень общего количества целых чисел и добавьте полученное значение к новой переменной. Наконец, проверьте, равно ли полученное значение переменной предоставленному числу, если оно равно, то предоставленное число является числом Армстронга, в противном случае нет.