Како проверити Армстронгове бројеве у Јави?

Kako Proveriti Armstrongove Brojeve U Javi



Армстронгов број ” пружа увид у обрасце бројева и математичка својства. Помаже у разумевању концепата теорије бројева и истраживању самореференцијалних односа унутар бројева. Поред тога, помаже у обезбеђивању тачности података или уноса корисника. Може бити корисно тамо где је интегритет уноса кључан.

Овај блог помаже у проналажењу Армстронговог броја за дате податке.







Како проверити Армстронг бројеве у Јави?

Армстронгов број ” се проверава да би се идентификовали бројеви који задовољавају одређено математичко својство. Ако је дата вредност иста као сабирање сопствених целих бројева подигнутих на степен укупног броја целих бројева дате вредности.



Сада, хајде да посетимо неке примере ради бољег разумевања:



Пример 1: Препознавање Армстронгових бројева





Посетите програм да проверите да ли је наведени број Армстронгов број или не:

импорт јава.утил.Сцаннер;
// Увоз потребних услужних програма.
јавна класа АрмстронгЦхецкер {
јавна статична празнина главна ( Низ [ ] аргс )
// Проглашавање главног ( ) методом
{
ДемоТест скенера = нови скенер ( Систем.ин ) ;
Систем.оут.принт ( „Унесите број да проверите:“ ) ;
инт нумЕле = демоТест.нектИнт ( ) ;

инт оригНум = нумЕле;
инт цифре = 0 ;
док ( оригНум ! = 0 ) {
оригНум / = 10 ;
дигитс++;
}

инт сум = 0 ;
инт темп = нумЕле;
за ( инт и = 0 ; и < цифре; и++ ) {
инт ти = темп % 10 ;
сум += Матх.пов ( ти , цифре ) ;
темп / = 10 ;
}

ако ( сум == имена ) {
Систем.оут.принтлн ( имена + 'је Армстронгов број.' ) ;
} друго {
Систем.оут.принтлн ( имена + 'не задовољава услов за Армстронгов број.' ) ;
}
}
}


Опис горњег кода:



    • Прво, објекат за „ Сцаннер ” класа је креирана да преузме цео број од крајњег корисника користећи „ нектИнт() ” методу и ускладиштите преузете податке у променљивој под називом „ НАМЕс ”.
    • Затим, ова преузета вредност се додељује променљивој типа инт под називом „ оригНум ” и иницијализује променљиву под називом „ цифре ” са „ 0 ”.
    • Затим ' док ” се користи петља која више пута дели оригНум са 10 и повећава променљиву цифара сваки пут док оригНум не постане 0.
    • Након тога, прогласите променљиву „ сум ” и подесите вредност „ НАМЕс ' до ' темп ' променљива. И користи „ за ” петља која се понавља до „ цифре ” вредност променљиве.
    • И у свакој итерацији петље „фор“, последња цифра „ темп ” се издваја помоћу оператора модула и чува у новој променљивој “ ти ”. Затим се коцка цифре додаје у „ сум ” променљива помоћу методе Матх.пов().
    • На крају, „ ако друго ” израз се користи да би се утврдило да ли је израчунати збир једнак оригиналном броју који је дао корисник. Ако су обе вредности једнаке, онда је наведени број Армстронгов број и обрнуто.

Након компилације:


Излаз показује да је наведени број Армстронгов број.

Пример 2: Пронађите све сталне Армстронг бројеве у оквиру предвиђеног ограничења

Да бисте пронашли све Армстронгове бројеве до наведене вредности или ограничења, посетите код у наставку:

импорт јава.утил.Сцаннер;
импорт јава.ланг.Матх;

јавна класа АрмстсронгНумберЕкампле
{
статички логички исАрмсНум ( инт ј ) {
инт буфф, сингДиг = 0 , крај = 0 , цалц = 0 ;
полирати =ј;
док ( полирати > 0 ) {
буфф = буфф / 10 ;
сингДиг++;
}
буфф = ј;
док ( полирати > 0 )
{
крај = буфф % 10 ;
цалц += ( Матх.пов ( крај, певајДиг ) ) ;
буфф = буфф / 10 ;
}
ако ( ј ==калц )
повратак истина ;
друго повратак лажно ;
}
јавна статична празнина главна ( Стринг аргс [ ] )
// Проглашавање главног ( ) методом
{
инт проНум;
Сцаннер сц = нови скенер ( Систем.ин ) ;
Систем.оут.принт ( 'Убаци горњу границу: ' ) ;
проНум =сц.нектИнт ( ) ;
Систем.оут.принтлн ( „Армстронгов број до предвиђеног ограничења“ + проНум + ' су: ' ) ;
за ( инт к = 0 ; к < =форНум; к++ )
ако ( исАрмсНум ( к ) )
Систем.оут.принт ( к+ ', ' ) ;
}
}


Објашњење горњег кода:

    • Прво, декларишете више променљивих „буфф“, „сингДиг“, „енд“ и „цалц“ које имају тип „ инт ”, унутар методе логичког типа под називом „ исАрмсНум() ”. Прима параметар који је додељен променљивој под називом „ полирати ”.
    • Затим, „ док ” је декларисана петља која се понавља све док вредност буффа не достигне „ 0 ”. Након тога, „ полирати ” је модул за „ 10 ” да бисте уклонили последњу цифру из наведене вредности и повећали „ сингДиг ' променљива.
    • Затим ' док ” петља се поново користи преко „ полирати ” променљива за издвајање последње цифре. Коцка цифре се израчунава коришћењем „ Матх. пов() ” метод, а затим додати у „ цалц ' променљива.
    • Сада ' ако ” израз се користи за проверу да ли је израчуната вредност у „ цалц ” променљива је једнака вредности коју је дао крајњи корисник или не. Такође, прикажите поруку у складу са тим.
    • Након тога, унос од крајњег корисника се преузима уз помоћ „ Сцаннер ” услужни програм у главни() ” метод.
    • На крају, „ за ” се користи петља која се понавља до дате вредности, а свака итерација се назива „ исАрмсНум() ” метод. Овај метод прима све вредности док се не достигне наведена вредност и проверава сваку вредност за Армстронгов број.

Након компилације:


Излаз приказује све Армстронгове бројеве до дате вредности која је „ 370 ' у овом случају.

Закључак

Да бисте пронашли Армстронгов број, прво пребројите цифре које садржи број. Затим издвојите сваку цифру из датог броја једну по једну уз помоћ операција модула и дељења. Затим подигните сваки цео број вредности на степен укупног броја целих бројева и додајте резултујућу вредност новој променљивој. На крају, проверите да ли је добијена вредност променљиве једнака датом броју, ако је једнака онда је наведени број Армстронгов број, у супротном није.