Kako provjeriti Armstrongove brojeve u Javi?

Kako Provjeriti Armstrongove Brojeve U Javi



' Armstrongov broj ” pruža uvid u brojeve i matematička svojstva. Pomaže u razumijevanju koncepata teorije brojeva i istraživanju samoreferencijalnih odnosa unutar brojeva. Osim toga, pomaže u osiguravanju točnosti podataka ili korisničkog unosa. Može biti korisno tamo gdje je integritet unosa ključan.

Ovaj blog pomaže u pronalaženju Armstrongovog broja za navedene podatke.







Kako provjeriti Armstrongove brojeve u Javi?

' Armstrongov broj ” provjerava se kako bi se identificirali brojevi koji zadovoljavaju određeno matematičko svojstvo. Ako je navedena vrijednost jednaka zbroju vlastitih cijelih brojeva podignutih na potenciju ukupnog broja cijelih brojeva navedene vrijednosti.



Pogledajmo sada neke primjere za bolje razumijevanje:



Primjer 1: Identificiranje Armstrongovih brojeva





Posjetite program kako biste provjerili je li navedeni broj Armstrongov broj ili nije:

import java.util.Scanner;
// Uvoz potrebnih pomoćnih programa.
javna klasa ArmstrongChecker {
public static void main ( Niz [ ] args )
// Proglašavanje glavnog ( ) metoda
{
DemoTest skenera = novi skener ( Sustav.in ) ;
System.out.print ( 'Unesite broj za provjeru: ' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
int znamenki = 0 ;
dok ( izvorni broj ! = 0 ) {
izvorni broj / = 10 ;
znamenke++;
}

int iznos = 0 ;
int temp = numEle;
za ( int i = 0 ; ja < znamenke; i++ ) {
int vas = temp % 10 ;
iznos += Math.pow ( vas , znamenke ) ;
temp / = 10 ;
}

ako ( iznos == imena ) {
System.out.println ( imena + 'je Armstrongov broj.' ) ;
} drugo {
System.out.println ( imena + ' ne zadovoljava uvjet za Armstrongov broj.' ) ;
}
}
}


Opis gornjeg koda:



    • Prvo, objekt za ' Skener ' klasa je stvorena za dohvaćanje cijelog broja od krajnjeg korisnika pomoću ' nextInt() ” i pohranite dohvaćene podatke u varijablu pod nazivom “ NAME ”.
    • Zatim se ova dohvaćena vrijednost dodjeljuje varijabli tipa int pod nazivom ' izvorni broj ” i inicijalizira varijablu pod nazivom “ znamenke ” sa “ 0 ”.
    • Onda ' dok ” koristi se petlja koja opetovano dijeli oriBNum s 10 i povećava varijablu znamenki svaki put dok oriGNum ne postane 0.
    • Nakon toga, deklarirajte varijablu ' iznos ' i postavite vrijednost ' NAME ' prema ' temp ” varijabla. I koristi ' za ' petlja koja se ponavlja do ' znamenke ” promjenjiva vrijednost.
    • I u svakoj iteraciji petlje 'for', zadnja znamenka ' temp ” ekstrahira se pomoću operatora modula i pohranjuje u novu varijablu “ vas ”. Zatim se kub znamenke dodaje u ' iznos ” pomoću metode Math.pow().
    • Na kraju, “ ako/drugo ” Izjava se koristi za utvrđivanje je li izračunati zbroj jednak izvornom broju koji je dao korisnik. Ako su obje vrijednosti jednake, tada je navedeni broj Armstrongov broj i obrnuto.

Nakon kompilacije:


Izlaz pokazuje da je navedeni broj Armstrongov broj.

Primjer 2: Pronađite sve stalne Armstrongove brojeve unutar navedenog ograničenja

Da biste pronašli sve Armstrongove brojeve do navedene vrijednosti ili ograničenja, posjetite donji kod:

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

javna klasa ArmstsrongNumberExample
{
statički booleov isArmsNum ( int j ) {
int buff, pjevatiKopati = 0 , kraj = 0 , kalk = 0 ;
polirati =j;
dok ( polirati > 0 ) {
buff = buff / 10 ;
singDig++;
}
buff = j;
dok ( polirati > 0 )
{
kraj = buff % 10 ;
izračun += ( Math.pow ( završiti, pjevatiDig ) ) ;
buff = buff / 10 ;
}
ako ( j ==kalk )
povratak pravi ;
drugo povratak lažno ;
}
public static void main ( Argumenti niza [ ] )
// Proglašavanje glavnog ( ) metoda
{
int proNum;
Skener sc = novi skener ( Sustav.in ) ;
System.out.print ( 'Umetni gornju granicu: ' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Armstrongov broj do navedenog ograničenja' + proNum + ' su: ' ) ;
za ( int k = 0 ; k < =zaBroj; k++ )
ako ( jeArmsNum ( k ) )
System.out.print ( k+ ', ' ) ;
}
}


Objašnjenje gornjeg koda:

    • Prvo, deklarirajte više varijabli 'buff', 'singDig', 'end' i 'calc' tipa ' int ', unutar metode boolean tipa pod nazivom ' isArmsNum() ”. Prima parametar koji je dodijeljen varijabli pod nazivom ' polirati ”.
    • Zatim, ' dok ” deklarirana je petlja koja se ponavlja sve dok buff vrijednost ne dosegne “ 0 ”. Nakon toga, ' polirati ” je modul prema “ 10 ” za uklanjanje zadnje znamenke iz navedene vrijednosti i povećava “ pjevatiKopati ” varijabla.
    • Onda ' dok ” ponovno se koristi preko “ polirati ” varijabla za izdvajanje zadnje znamenke. Kub znamenke izračunava se korištenjem ' matematika pow() ', a zatim dodano u ' kalk ” varijabla.
    • Sada, ' ako ' naredba se koristi za provjeru je li izračunata vrijednost u ' kalk ” varijabla jednaka vrijednosti koju je dao krajnji korisnik ili ne. Također, prikažite poruku u skladu s tim.
    • Nakon toga, unos od krajnjeg korisnika se dohvaća uz pomoć ' Skener ' uslužni program u ' glavni() ” metoda.
    • Na kraju, “ za ” koristi se petlja koja ponavlja do dobivene vrijednosti, a svaka se iteracija naziva „ isArmsNum() ” metoda. Ova metoda prima sve vrijednosti dok se ne postigne navedena vrijednost i provjerava svaku vrijednost za Armstrongov broj.

Nakon kompilacije:


Izlaz prikazuje sve Armstrongove brojeve do navedene vrijednosti koja je ' 370 ' u ovom slučaju.

Zaključak

Da biste pronašli Armstrongov broj, prvo prebrojite znamenke koje navedeni broj sadrži. Zatim izdvojite svaku znamenku iz ponuđenog broja jednu po jednu uz pomoć modula i operacija dijeljenja. Zatim podignite svaki cijeli broj vrijednosti na potenciju ukupnog broja cijelih brojeva i dodajte rezultirajuću vrijednost novoj varijabli. Na kraju provjerite je li dobivena vrijednost varijable jednaka danom broju, ako je jednaka onda je dani broj Armstrongov broj, inače nije.