Kuidas kontrollida Armstrongi numbreid Javas?

Kuidas Kontrollida Armstrongi Numbreid Javas



' Armstrongi number ” annab ülevaate arvumustritest ja matemaatilistest omadustest. See aitab mõista arvuteooria kontseptsioone ja uurida arvudes esinevaid eneseviiteid. Lisaks aitab see tagada andmete või kasutaja sisestatud andmete täpsuse. See võib olla kasulik, kui sisendi terviklikkus on ülioluline.

See ajaveeb aitab leida esitatud andmete Armstrongi numbrit.







Kuidas kontrollida Armstrongi numbreid Javas?

' Armstrongi number ” kontrollitakse, et tuvastada numbreid, mis vastavad konkreetsele matemaatilisele omadusele. Kui esitatud väärtus on sama, mis tema enda täisarvude liitmine, mis on tõstetud esitatud väärtuse täisarvude koguarvu astmeni.



Nüüd vaatame parema mõistmise huvides mõnda näidet:



Näide 1: Armstrongi numbrite tuvastamine





Külastage programmi, et kontrollida, kas antud number on Armstrongi number või mitte:

import java.util.Scanner;
// Nõutavate utiliitide importimine.
avalik klass ArmstrongChecker {
avalik static void main ( String [ ] args )
// Peamise väljakuulutamine ( ) meetod
{
Skanneri demoTest = uus skanner ( System.in ) ;
System.out.print ( 'Sisestage kontrollimiseks number:' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numberEle;
int numbrid = 0 ;
samas ( origNum ! = 0 ) {
origNum / = 10 ;
numbrid++;
}

int summa = 0 ;
int temp = numEle;
jaoks ( int i = 0 ; i < numbrid; i++ ) {
int sina = temp % 10 ;
summa += Math.pow ( sina , numbrid ) ;
temp / = 10 ;
}

kui ( summa == nimed ) {
System.out.println ( nimed + 'on Armstrongi number.' ) ;
} muidu {
System.out.println ( nimed + 'ei vasta Armstrongi numbri tingimusele.' ) ;
}
}
}


Ülaltoodud koodi kirjeldus:



    • Esiteks, objekt ' Skänner ” klass on loodud selleks, et saada lõppkasutajalt täisarv, kasutades „ nextInt() ' meetodit ja salvestage saadud andmed muutujas nimega ' NIMED ”.
    • Järgmisena määratakse see otsitud väärtus int tüüpi muutujale nimega ' origNum ' ja initsialiseerib muutuja nimega ' numbrid ' koos ' 0 ”.
    • Siis ' samas ” kasutatakse tsüklit, mis jagab origNumi korduvalt 10-ga ja suurendab iga kord numbrilist muutujat, kuni origNum muutub 0-ks.
    • Pärast seda deklareerige muutuja ' summa ja määrake väärtuseks NIMED ' juurde ' temp ” muutuja. Ja kasutab ' jaoks ' tsükkel, mis kordub kuni ' numbrid ” muutuv väärtus.
    • Ja igas tsükli iteratsioonis 'for' viimane number temp ' ekstraheeritakse mooduli operaatori abil ja salvestatakse uude muutujasse ' sina ”. Seejärel lisatakse numbri kuup ' summa ” muutuja Math.pow() meetodil.
    • Lõpuks ' kui/muidu ” lauset kasutatakse selleks, et teha kindlaks, kas arvutatud summa on võrdne kasutaja algselt esitatud arvuga. Kui mõlemad väärtused on võrdsed, on esitatud arv Armstrongi arv ja vastupidi.

Pärast koostamist:


Väljund näitab, et antud number on Armstrongi number.

Näide 2: leidke kõik Armstrongi numbrid ettenähtud limiidi piires

Kõigi Armstrongi numbrite leidmiseks ettenähtud väärtuse või piiranguni külastage allolevat koodi:

import java.util.Scanner;
importida java.lang.Math;

avalik klass ArmstsrongNumberNäide
{
staatiline tõeväärtus isArmsNum ( int j ) {
int buff, laulaDig = 0 , lõpp = 0 , arvut = 0 ;
buff =j;
samas ( buff > 0 ) {
buff = buff / 10 ;
singDig++;
}
buff = j;
samas ( buff > 0 )
{
lõpp = buff % 10 ;
arvuta += ( Math.pow ( lõpp, laulaDig ) ) ;
buff = buff / 10 ;
}
kui ( j ==arvut )
tagasi tõsi ;
muidu tagasi vale ;
}
avalik static void main ( String args [ ] )
// Peamise väljakuulutamine ( ) meetod
{
int proNum;
Skänner sc = uus skanner ( System.in ) ;
System.out.print ( 'Insert Upper Limit:' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Armstrongi arv kuni antud limiidini' + proNum + 'on: ' ) ;
jaoks ( int k = 0 ; k < =forNum; k++ )
kui ( isArmsNum ( k ) )
System.out.print ( k+ ', ' ) ;
}
}


Ülaltoodud koodi selgitus:

    • Esiteks deklareerige mitu muutujat 'buff', 'singDig', 'end' ja 'calc', mille tüüp on ' int ”, Boolean tüüpi meetodi sees nimega “ isArmsNum() ”. See saab parameetri, mis on määratud muutujale nimega ' buff ”.
    • Järgmiseks ' samas 'deklareeritakse tsükkel, mis itereerub, kuni buff väärtus jõuab ' 0 ”. Pärast seda ' buff ' on moodul '' 10 ', et eemaldada antud väärtusest viimane number ja suurendada ' laulaDig ” muutuja.
    • Siis ' samal ajal 'silmust kasutatakse uuesti '' buff ” muutuja viimase numbri eraldamiseks. Numbri kuup arvutatakse, kasutades ' matemaatika. pow() meetodit ja seejärel lisati arvut ” muutuja.
    • Nüüd, ' kui lauset kasutatakse selleks, et kontrollida, kas arvutatud väärtus arvut ” muutuja on võrdne lõppkasutaja esitatud väärtusega või mitte. Samuti kuvage teade vastavalt.
    • Pärast seda hangitakse lõppkasutaja sisend faili ' abil Skänner ' utiliit jaotises ' peamine () ” meetod.
    • Lõpuks ' jaoks Kasutatakse tsüklit, mis itereerub kuni määratud väärtuseni ja iga iteratsiooni nimetatakse ' isArmsNum() ” meetod. See meetod võtab vastu kõik väärtused, kuni antud väärtus on saavutatud, ja kontrollib iga väärtust Armstrongi numbri jaoks.

Pärast koostamist:


Väljund kuvab kõik Armstrongi numbrid kuni esitatud väärtuseni, mis on ' 370 ' sel juhul.

Järeldus

Armstrongi numbri leidmiseks lugege esmalt numbrid, mida antud number sisaldab. Seejärel eraldage mooduli ja jagamise operatsioonide abil ükshaaval esitatud numbrist iga number. Järgmisena tõstke väärtuse iga täisarv täisarvude koguarvu astmeni ja lisage saadud väärtus uuele muutujale. Lõpuks kontrollige, kas saadud muutuja väärtus on võrdne esitatud arvuga, kui see on võrdne, on esitatud arv Armstrongi arv, vastasel juhul mitte.