Co je Armstrong Number v Javě?
Armstrongovo číslo v Javě, Armstrong je číslo, ve kterém se součet kostek jednotlivých číslic čísla rovná samotnému číslu. Armstrongovo číslo je speciální druh čísla, kde jsou číslice nejprve vyzvednuty, pak jsou krychlovány a nakonec jsou přidány všechny kostky jednotlivých číslic, aby se získalo číslo. Pokud se takto nalezené číslo rovná původnímu číslu, pak je příslušné číslo známé jako Armstrongovo číslo. Příklad Armstrongova čísla je 153. Pokud rozdělíme číslice 153, jsou 1, 5 a 3. Pak najdeme krychli příslušných čísel a nakonec vypočítáme krychli čísel.
153= (1*1*1)+(5*5*5)+(3*3*3)
370= (3*3*3)+(7*7*7)+(0*0*0)
Tímto způsobem můžeme vypočítat, zda je číslo Armstrongovým číslem nebo ne.
Příklady Armstrongova čísla v Javě
Ukážeme si ukázku Armstrongova čísla v Javě pomocí příkladů.
Příklad č. 1
V příkladu kódování používáme programovací jazyk Java k určení, zda je číslo Armstrongovým číslem nebo ne. Pokud je zadané číslo Armstrongovo číslo, program jej automaticky vytiskne jako Armstrongovo číslo a pokud není, automaticky odpoví, že toto číslo není Armstrongovým číslem. Můžeme zadat trojciferné nebo čtyřmístné hodnoty a zkontrolovat, zda je číslo Armstrongovým číslem nebo ne.
Logika programu je taková, že v dočasné proměnné je uložena každá číslice příslušného čísla. Pak je číslo v krychli pro nalezení krychle příslušné číslice, která je uložena v jiné proměnné celkem. Nakonec se celkový počet zkontroluje s odpovídajícím původním číslem. Číslice jsou získávány jeden po druhém tak, že se číslo vydělí desítkou v každém kroku a poté se získá zbývající číslo a pak se krychlí číslo, aby se získala krychle příslušné číslice.
Kód:
import java.io.*;
public class Armstrong
(
public static void main(String() args)throws IOException
(
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a number");
int num = Integer.parseInt(br.readLine());
int number, digit, sum = 0;
number = num;
while (number != 0)
(
digit = number % 10;
sum = sum + digit*digit*digit;
number /= 10;
)
if(sum == num)
System.out.println(num + " is an Armstrong number");
else
System.out.println(num + " is not an Armstrong number");
)
)
Výstup:
V prvním programu zadáme čísla 370 a 153 jako čísla, abychom ověřili, zda jsou Armstrong, nebo ne. Také zadáme 269 jako číslo, abychom zkontrolovali, zda je číslo Armstrong. Dostaneme příslušný výstup programu, že čísla 370 a 153 jsou čísla Armstrong, zatímco číslo 269 není číslo Armstrong.
Příklad č. 2
Ve druhém příkladu kódování vybereme řadu čísel, která se kontrolují, zda se jedná o Armstrongova čísla nebo ne. Rozsah je od 150 do 160. Vybereme rozsah a zkontrolujeme výstup, zda je číslo Armstrongovým číslem nebo ne. Pak uvidíme výstup. Použitá logika je podobná logice použité pro nalezení Armstrongova čísla. Vypočítají se příslušné číslice čísla a poté se zaokrouhlí a spočítá, aby se zjistilo konečné celkové číslo. Pokud je konečný celkový počet roven původnímu číslu, považují se za Armstrongova čísla, která se počítají.
Kód:
import java.io.*;
public class ArmstrongRange
(
public static void main(String() args)throws IOException
(
for(int num= 150; num<160; num++)
(
int number, digit, sum = 0;
number = num;
while (number != 0)
(
digit = number % 10;
sum = sum + digit*digit*digit;
number /= 10;
)
if(sum == num)
System.out.println(num + " is an Armstrong number");
else
System.out.println(num + " is not an Armstrong number");
)
)
)
Výstup:
Ve vzorovém výstupu vidíme, že všechna čísla v rozmezí 150 až 160 byla zkontrolována, zda se jedná o Armstrongova čísla nebo ne. Program hlásil, že pouze 153 je Armstrongovo číslo, jehož součet kostek číslic se rovná původnímu číslu. Všechna ostatní čísla byla hlášena jako ne Armstrongova čísla.
Příklad č. 3
V tomto příkladu kódování uvidíme seznam Armstrongových čísel, která jsou přítomna mezi 365 a 375. Změníme rozsah hodnot, které mají být zkontrolovány pro Armstrongova čísla. Ukázková logika kódování je přesně stejná jako předchozí. Hlavní rozdíl spočívá pouze v tom, že se změní rozsah čísel, která mají být zkontrolována, a jsou trochu odlišná od posledního řádku kódu.
Jednotlivé číslice jsou pořizovány, krychlovány a sčítány, aby se získalo číslo. Pokud je toto číslo stejné jako původní číslo, pak je původní číslo známé jako Armstrongovo číslo, jinak to není Armstrongovo číslo.
Kód:
import java.io.*;
public class ArmstrongRange
(
public static void main(String() args)throws IOException
(
for(int num= 365; num<375; num++)
(
int number, digit, sum = 0;
number = num;
while (number != 0)
(
digit = number % 10;
sum = sum + digit*digit*digit;
number /= 10;
)
if(sum == num)
System.out.println(num + " is an Armstrong number");
else
System.out.println(num + " is not an Armstrong number");
)
)
)
Výstup:
Ve vzorovém výstupu daném programem vidíme, že pouze 371 a 370 jsou Armstrongova čísla, zatímco ostatní čísla nejsou, protože součet kostek jednotlivých číslic nepřičte původní číslo.
Závěr - Armstrongovo číslo v Javě
V tomto článku jsme viděli práci a definici Armstrongova čísla. Nejprve zkontrolujeme, zda je zadané číslo Armstrongovým číslem nebo ne. Zadruhé zadáme rozsah hodnot od 150 do 160 a zkontrolujeme, kolik Armstrongových čísel je mezi těmito hodnotami. Zatřetí zadáme rozsah čísel od 365 do 375 a zjistíme, že 370 a 371 jsou Armstrongova čísla. Armstrongova čísla jsou speciální čísla, která se používají v teorii čísel a lze je použít k nalezení povahy číslic některých čísel spolu se sčítáním jejich krychlí.
Doporučené články
Toto byl průvodce Armstrongovým číslem v Javě. Zde ilustrujeme Armstrongovo číslo v Javě pomocí několika příkladů. Další informace naleznete také v následujících článcích -
- Statické klíčové slovo v Javě
- Palindrom v Javě
- Převažující v Javě
- Generátor náhodných čísel v Javě