Cum să verificați numerele Armstrong în Java?

Cum Sa Verificati Numerele Armstrong In Java



numărul Armstrong ” oferă informații despre modelele numerice și proprietățile matematice. Ajută la înțelegerea conceptelor teoriei numerelor și la explorarea relațiilor autoreferențiale în cadrul numerelor. În plus, ajută la asigurarea acurateții datelor sau a datelor introduse de utilizator. Poate fi util acolo unde integritatea intrării este crucială.

Acest blog vă ajută să găsiți numărul Armstrong pentru datele furnizate.







Cum să verificați numerele Armstrong în Java?

numărul Armstrong ” este verificat pentru a identifica numerele care satisfac o anumită proprietate matematică. Dacă valoarea furnizată este aceeași cu adăugarea propriilor numere întregi crescute la puterea numărului total de numere întregi ale valorii furnizate.



Acum, să vizităm câteva exemple pentru a înțelege mai bine:



Exemplul 1: Identificarea numerelor Armstrong





Vizitați programul pentru a verifica dacă numărul furnizat este numărul Armstrong sau nu:

import java.util.Scanner;
// Importul utilităților necesare.
clasă publică ArmstrongChecker {
public static void main ( Şir [ ] argumente )
// Declararea principalului ( ) metodă
{
Scanner demoTest = scaner nou ( System.in ) ;
Sistem.out.print ( 'Introduceți numărul pentru a verifica: ' ) ;
  int numEle = demoTest.nextInt ( ) ;

  int origNum = numEle;
int cifre = 0 ;
in timp ce ( orgNum ! = 0 ) {
orgNum / = 10 ;
cifre++;
}

int sumă = 0 ;
  int temp = numEle;
pentru ( int i = 0 ; i < cifre; i++ ) {
int tu = temp % 10 ;
sumă += Math.pow ( tu , cifre ) ;
temp / = 10 ;
}

dacă ( sumă == numEle ) {
System.out.println ( numEle + „este un număr Armstrong”. ) ;
} altfel {
System.out.println ( numEle + „nu satisface condiția pentru numărul Armstrong”. ) ;
}
}
}


Descrierea codului de mai sus:



    • În primul rând, obiectul pentru „ Scanner ” este creată pentru a prelua un număr întreg de la utilizatorul final folosind “ nextInt() ” și stocați datele preluate într-o variabilă numită „ numEle ”.
    • Apoi, această valoare regăsită este atribuită variabilei de tip int numită „ orgNum ” și inițializează o variabilă numită „ cifre ' cu ' 0 ”.
    • Apoi, „ in timp ce ” este folosită bucla care împarte în mod repetat origNum cu 10 și incrementează variabila cu cifre de fiecare dată până când origNum devine 0.
    • După aceea, declarați o variabilă „ sumă ” și setați valoarea „ numEle ” la “ temp ' variabil. Și utilizează „ pentru ” buclă care iterează până la ” cifre ” valoare variabilă.
    • Și în fiecare iterație a buclei „for”, ultima cifră a „ temp ” este extras folosind operatorul de modul și stocat într-o nouă variabilă ” tu ”. Apoi, cubul cifrei este apoi adăugat la „ sumă ” variabilă folosind metoda Math.pow().
    • În cele din urmă, „ dacă/altfel ” declarația este utilizată pentru a determina dacă suma calculată este egală cu numărul furnizat inițial de către utilizator. Dacă ambele valori sunt egale, atunci numărul furnizat este un număr Armstrong și invers.

După compilare:


Rezultatul arată că numărul furnizat este un număr Armstrong.

Exemplul 2: Găsiți toate numerele Armstrong rezidente în limita furnizată

Pentru a găsi toate numerele Armstrong la valoarea sau limita furnizată, accesați codul de mai jos:

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

clasă publică ArmststrongNumberExample
{
boolean static isArmsNum ( int j ) {
int buff, singDig = 0 , Sfârşit = 0 , calc = 0 ;
piele de bivol =j;
in timp ce ( piele de bivol > 0 ) {
buff = buff / 10 ;
singDig++;
}
buff = j;
in timp ce ( piele de bivol > 0 )
{
sfârşit = buff % 10 ;
calc += ( Math.pow ( termina, cântăDig ) ) ;
buff = buff / 10 ;
}
dacă ( j ==calc )
întoarcere Adevărat ;
altfel întoarcere fals ;
}
public static void main ( Argumente șir [ ] )
// Declararea principalului ( ) metodă
{
int proNum;
Scanner sc = scaner nou ( System.in ) ;
Sistem.out.print ( 'Inserați limita superioară: ' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( „Numărul Armstrong până la limita furnizată” + proNum + ' sunt: ​​' ) ;
pentru ( int k = 0 ; k < =forNum; k++ )
dacă ( isArmsNum ( k ) )
Sistem.out.print ( k+ ', ' ) ;
}
}


Explicația codului de mai sus:

    • Mai întâi, declarați mai multe variabile „buff”, „singDig”, „end” și „calc” având un tip de „ int ”, în cadrul metodei de tip boolean numită „ isArmsNum() ”. Primește un parametru care este atribuit variabilei numite „ piele de bivol ”.
    • În continuare, „ in timp ce bucla ” este declarată care iterează până când valoarea buff ajunge la ” 0 ”. După aceea, „ piele de bivol ” este modul cu “ 10 ” pentru a elimina ultima cifră din valoarea furnizată și crește valoarea „ singDig ' variabil.
    • Apoi, „ in timp ce bucla ” este utilizată din nou peste „ piele de bivol ” variabilă pentru a extrage ultima cifră. Cubul cifrei se calculează utilizând „ Matematică. pow() ” și apoi adăugată la „ calc ' variabil.
    • Acum ' dacă Declarația ” este utilizată pentru a verifica dacă valoarea calculată în ” calc ” variabila este egală cu valoarea furnizată de utilizatorul final sau nu. De asemenea, afișați mesajul corespunzător.
    • După aceea, intrarea de la utilizatorul final este preluată cu ajutorul „ Scanner „utilitate în „ principal() ” metoda.
    • În cele din urmă, „ pentru Se utilizează bucla care iterează până la valoarea furnizată, iar fiecare iterație se numește „ isArmsNum() ” metoda. Această metodă primește toate valorile până la atingerea valorii furnizate și verifică fiecare valoare pentru numărul Armstrong.

După compilare:


Ieșirea afișează toate numerele Armstrong până la valoarea furnizată care este „ 370 ' în acest caz.

Concluzie

Pentru a găsi un număr Armstrong, mai întâi, numărați cifrele pe care le conține numărul furnizat. Apoi, extrageți fiecare cifră din numărul furnizat una câte una cu ajutorul operațiilor de modul și împărțire. Apoi, ridicați fiecare număr întreg al valorii la puterea numărului total de numere întregi și adăugați valoarea rezultată la o nouă variabilă. În cele din urmă, verificați dacă valoarea variabilei obținute este egală cu numărul furnizat, dacă este egal atunci numărul furnizat este un număr Armstrong, altfel nu.