Jak zkontrolovat Armstrongova čísla v Javě?

Jak Zkontrolovat Armstrongova Cisla V Jave



' Armstrongovo číslo ” poskytuje náhled na číselné vzory a matematické vlastnosti. Pomáhá pochopit koncepty teorie čísel a prozkoumat sebereferenční vztahy v číslech. Kromě toho pomáhá zajistit přesnost dat nebo uživatelského vstupu. Může být užitečný tam, kde je zásadní integrita vstupu.

Tento blog pomáhá najít Armstrongovo číslo pro poskytnutá data.







Jak zkontrolovat čísla Armstrong v Javě?

' Armstrongovo číslo ” je zaškrtnuto pro identifikaci čísel, která splňují určitou matematickou vlastnost. Pokud je zadaná hodnota stejná jako součet vlastních celých čísel umocněných na celkový počet celých čísel zadané hodnoty.



Nyní se podívejme na několik příkladů pro lepší pochopení:



Příklad 1: Identifikace Armstrongových čísel





Navštivte program a zkontrolujte, zda poskytnuté číslo je Armstrongovo číslo nebo ne:

import java.util.Scanner;
// Import požadovaných utilit.
veřejné třídy ArmstrongChecker {
public static void main ( Tětiva [ ] argumenty )
// Vyhlášení hlavní ( ) metoda
{
DemoTest skeneru = nový skener ( System.in ) ;
System.out.print ( 'Zadejte číslo ke kontrole: ' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
int číslice = 0 ;
zatímco ( origNum ! = 0 ) {
origNum / = 10 ;
číslice++;
}

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

-li ( součet == jména ) {
System.out.println ( jména + 'je Armstrongovo číslo.' ) ;
} jiný {
System.out.println ( jména + 'nesplňuje podmínku pro Armstrongovo číslo.' ) ;
}
}
}


Popis výše uvedeného kódu:



    • Za prvé, objekt pro „ Skener Třída “ je vytvořena pro načtení celého čísla od koncového uživatele pomocí „ nextInt() “ a uložte načtená data do proměnné s názvem “ JMÉNA “.
    • Dále je tato načtená hodnota přiřazena proměnné typu int s názvem „ origNum “ a inicializuje proměnnou s názvem „ číslic “ s “ 0 “.
    • Poté, „ zatímco Používá se smyčka ”, která opakovaně dělí origNum 10 a pokaždé zvyšuje proměnnou číslic, dokud se origNum nestane 0.
    • Poté deklarujte proměnnou „ součet “ a nastavte hodnotu „ JMÉNA “ na “ tepl “proměnná. A využívá „ pro 'smyčka, která se opakuje až do ' číslic “proměnná hodnota.
    • A v každé iteraci cyklu „for“ poslední číslice „ tepl “ se extrahuje pomocí operátoru modulu a uloží se do nové proměnné “ vy “. Poté se kostka číslice přičte k „ součet ” pomocí metody Math.pow().
    • Nakonec „ pokud/jinak ” se používá k určení, zda se vypočtený součet rovná původnímu číslu poskytnutému uživatelem. Pokud jsou obě hodnoty stejné, pak poskytnuté číslo je Armstrongovo číslo a naopak.

Po kompilaci:


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

Příklad 2: Najděte všechna rezidentní čísla Armstronga v rámci poskytnutého limitu

Chcete-li najít všechna čísla Armstrong k zadané hodnotě nebo limitu, navštivte níže uvedený kód:

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

veřejná třída ArmstsrongNumberPříklad
{
statická booleovská hodnota jeArmsNum ( int j ) {
int buff, zpívatDig = 0 , konec = 0 , calc = 0 ;
fanoušek =j;
zatímco ( fanoušek > 0 ) {
buff = buff / 10 ;
singDig++;
}
buff = j;
zatímco ( fanoušek > 0 )
{
konec = buff % 10 ;
calc += ( Math.pow ( konec, zpívejDig ) ) ;
buff = buff / 10 ;
}
-li ( j ==kalkul )
vrátit se skutečný ;
jiný vrátit se Nepravdivé ;
}
public static void main ( String args [ ] )
// Vyhlášení hlavní ( ) metoda
{
int proNum;
Skener sc = nový skener ( System.in ) ;
System.out.print ( 'Vložte horní limit:' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Armstrongovo číslo až do poskytnutého limitu' + proNum + 'jsou:' ) ;
pro ( int k = 0 ; k < =forNum; k++ )
-li ( isArmsNum ( k ) )
System.out.print ( k+ ',' ) ;
}
}


Vysvětlení výše uvedeného kódu:

    • Nejprve deklarujte více proměnných „buff“, „singDig“, „end“ a „calc“ s typem „ int “, uvnitř metody typu boolean s názvem „ isArmsNum() “. Přijímá parametr, který je přiřazen k proměnné s názvem „ fanoušek “.
    • Dále, „ zatímco “ je deklarována smyčka, která iteruje, dokud hodnota buff nedosáhne “ 0 “. Poté se „ fanoušek “ je modul podle “ 10 ” pro odstranění poslední číslice z poskytnuté hodnoty a zvýšení hodnoty “ zpívatDig “proměnná.
    • Poté, „ zatímco “ smyčka se opět používá přes “ fanoušek ” pro extrakci poslední číslice. Třetí mocnina číslice se vypočítá pomocí „ Matematika. pow() “ a poté přidán do “ calc “proměnná.
    • Nyní, „ -li “ se používá ke kontrole, zda vypočtená hodnota v “ calc ” se rovná hodnotě poskytnuté koncovým uživatelem nebo ne. Podle toho také zobrazte zprávu.
    • Poté je vstup od koncového uživatele načten pomocí „ Skener ” nástroj v “ hlavní() “ metoda.
    • Nakonec „ pro používá se smyčka “, která iteruje až do zadané hodnoty, a každá iterace se nazývá “ isArmsNum() “ metoda. Tato metoda přijímá všechny hodnoty, dokud není dosaženo zadané hodnoty, a kontroluje každou hodnotu na Armstrongovo číslo.

Po kompilaci:


Výstup zobrazuje všechna Armstrongova čísla až do zadané hodnoty, která je „ 370 ' v tomto případě.

Závěr

Chcete-li najít Armstrongovo číslo, nejprve spočítejte číslice, které zadané číslo obsahuje. Poté postupně extrahujte každou číslici z poskytnutého čísla pomocí operací modulu a dělení. Dále zvyšte každé celé číslo hodnoty na mocninu celkového počtu celých čísel a výslednou hodnotu přidejte do nové proměnné. Nakonec zkontrolujte, zda se získaná hodnota proměnné rovná zadanému číslu, pokud se rovná, je zadané číslo Armstrongovo číslo, jinak ne.