Ako skontrolovať čísla Armstronga v jazyku Java?

Ako Skontrolovat Cisla Armstronga V Jazyku Java



' Armstrongovo číslo “ poskytuje pohľad na číselné vzory a matematické vlastnosti. Pomáha pochopiť koncepty teórie čísel a skúmať sebareferenčné vzťahy v rámci čísel. Okrem toho pomáha pri zabezpečovaní presnosti údajov alebo vstupov používateľa. Môže byť užitočný tam, kde je kľúčová integrita vstupu.

Tento blog pomáha nájsť Armstrongovo číslo pre poskytnuté údaje.







Ako skontrolovať čísla Armstrong v jazyku Java?

' Armstrongovo číslo ” je začiarknuté, aby sa identifikovali čísla, ktoré spĺňajú špecifickú matematickú vlastnosť. Ak je poskytnutá hodnota rovnaká ako sčítanie vlastných celých čísel umocnených na celkový počet celých čísel poskytnutej hodnoty.



Teraz sa pozrime na niekoľko príkladov pre lepšie pochopenie:



Príklad 1: Identifikácia Armstrongových čísel





Navštívte program a skontrolujte, či poskytnuté číslo je Armstrongovo číslo alebo nie:

import java.util.Scanner;
// Importovanie požadovaných nástrojov.
verejná trieda ArmstrongChecker {
verejné statické void main ( Reťazec [ ] args )
// Vyhlásenie hlavného ( ) metóda
{
DemoTest skenera = nový skener ( System.in ) ;
System.out.print ( 'Zadajte číslo na kontrolu: ' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
int číslic = 0 ;
zatiaľ čo ( origNum ! = 0 ) {
origNum / = 10 ;
číslice++;
}

int súčet = 0 ;
int temp = numEle;
pre ( int i = 0 ; i < číslice; i++ ) {
int vy = tepl % 10 ;
súčet += Math.pow ( vy , číslice ) ;
tepl / = 10 ;
}

ak ( súčet == mená ) {
System.out.println ( mená + 'je Armstrongovo číslo.' ) ;
} inak {
System.out.println ( mená + 'nespĺňa podmienku pre Armstrongovo číslo.' ) ;
}
}
}


Popis vyššie uvedeného kódu:



    • Po prvé, objekt pre „ Skener Trieda “ je vytvorená na získanie celého čísla od koncového používateľa pomocou „ nextInt() “ a uložené údaje uložte do premennej s názvom “ NAME “.
    • Ďalej sa táto získaná hodnota priradí premennej typu int s názvom „ origNum “ a inicializuje premennú s názvom „ číslic “ s “ 0 “.
    • Potom ' zatiaľ čo Používa sa cyklus ”, ktorý opakovane delí origNum 10 a zvyšuje číslicovú premennú zakaždým, kým sa origNum nestane 0.
    • Potom deklarujte premennú „ súčet “ a nastavte hodnotu „ NAME “ na “ tepl “premenná. A využíva „ pre 'cyklus, ktorý sa opakuje až do ' číslic “premenná hodnota.
    • A v každej iterácii cyklu „for“ posledná číslica „ tepl “ sa extrahuje pomocou operátora modulu a uloží sa do novej premennej “ vy “. Potom sa kocka číslice pridá k „ súčet ” pomocou metódy Math.pow().
    • Na záver, „ ak/inak ” sa používa na určenie, či sa vypočítaná suma rovná pôvodnému číslu poskytnutému používateľom. Ak sú obe hodnoty rovnaké, poskytnuté číslo je Armstrongovo číslo a naopak.

Po kompilácii:


Výstup ukazuje, že poskytnuté číslo je Armstrongovo číslo.

Príklad 2: Nájdite všetky čísla Armstronga v rámci poskytnutého limitu

Ak chcete nájsť všetky čísla Armstrong k poskytnutej hodnote alebo limitu, navštívte nižšie uvedený kód:

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

verejná trieda ArmstsrongNumberPríklad
{
statická boolovská hodnota jeArmsNum ( int j ) {
int buff, spievaťDig = 0 , koniec = 0 , calc = 0 ;
buff =j;
zatiaľ čo ( buff > 0 ) {
buff = buff / 10 ;
singDig++;
}
buff = j;
zatiaľ čo ( buff > 0 )
{
koniec = buff % 10 ;
calc += ( Math.pow ( koniec, spievajDig ) ) ;
buff = buff / 10 ;
}
ak ( j ==kalkul )
vrátiť pravda ;
inak vrátiť falošný ;
}
verejné statické void main ( String args [ ] )
// Vyhlásenie hlavného ( ) metóda
{
int proNum;
Skener sc = nový skener ( System.in ) ;
System.out.print ( 'Vložte horný limit: ' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Číslo Armstrong až po poskytnutý limit' + proNum + 'sú:' ) ;
pre ( int k = 0 ; k < =forNum; k++ )
ak ( jeArmsNum ( k ) )
System.out.print ( k+ ',' ) ;
}
}


Vysvetlenie vyššie uvedeného kódu:

    • Najprv deklarujte viacero premenných „buff“, „singDig“, „end“ a „calc“ s typom „ int “, vnútri metódy typu boolean s názvom „ isArmsNum() “. Prijíma parameter, ktorý je priradený k premennej s názvom „ buff “.
    • Ďalej, „ zatiaľ čo ” je deklarovaná slučka, ktorá sa opakuje, kým hodnota buff nedosiahne “ 0 “. Potom sa „ buff “ je modul podľa “ 10 ” na odstránenie poslednej číslice z poskytnutej hodnoty a zvýšenie hodnoty “ spievaťDig “premenná.
    • Potom ' zatiaľ čo “slučka sa opäť používa cez “ buff ” na extrahovanie poslednej číslice. Kocka číslice sa vypočíta pomocou „ Matematika. pow() “ a potom pridaný do “ calc “premenná.
    • Teraz, „ ak “ sa používa na kontrolu, či vypočítaná hodnota v “ calc ” sa rovná hodnote poskytnutej koncovým používateľom alebo nie. Podľa toho tiež zobrazte správu.
    • Potom sa vstup od koncového používateľa získa pomocou „ Skener ” pomôcka v “ Hlavná() “.
    • Na záver, „ pre využíva sa slučka “, ktorá sa iteruje až do poskytnutej hodnoty a každá iterácia sa nazýva “ isArmsNum() “. Táto metóda prijíma všetky hodnoty, kým sa nedosiahne zadaná hodnota, a skontroluje každú hodnotu na Armstrongovo číslo.

Po kompilácii:


Výstup zobrazuje všetky čísla Armstronga až do poskytnutej hodnoty, ktorá je „ 370 ' v tomto prípade.

Záver

Ak chcete nájsť Armstrongovo číslo, najprv spočítajte číslice, ktoré zadané číslo obsahuje. Potom extrahujte každú číslicu z poskytnutého čísla jednu po druhej pomocou operácií modulu a delenia. Potom zvýšte každé celé číslo hodnoty na mocninu celkového počtu celých čísel a výslednú hodnotu pridajte do novej premennej. Nakoniec skontrolujte, či sa získaná hodnota premennej rovná poskytnutému číslu, ak sa rovná, poskytnuté číslo je Armstrongovo číslo, inak nie.