Mis on Java Armstrongi arv?

Armstrongi arv Java-s, Armstrongi on üks, milles numbri üksikute numbrite kuubikute summa on võrdne arvu endaga. Armstrongi number on eriline liik, kus numbrid võetakse kõigepealt vastu, siis need kuubitakse ja lõpuks lisatakse kõik numbrite saamiseks üksikute numbrite kuubikud. Kui sel viisil leitud arv on võrdne algse numbriga, nimetatakse vastavat arvu Armstrongi numbriks. Armstrongi numbri näide on 153. Kui lahutame numbrid 153, on need 1, 5 ja 3. Siis leiame vastavate numbrite kuubi ja arvutame lõpuks numbrite kuubi.

153= (1*1*1)+(5*5*5)+(3*3*3)
370= (3*3*3)+(7*7*7)+(0*0*0)

Sel viisil saame arvutada, kas arv on Armstrongi number või mitte.

Armstrongi numbri näited Java-s

Näeme Java näitel Armstrongi numbrit koos näidete abil.

Näide nr 1

Kodeerimise näites kasutame Java programmeerimiskeelt, et teha kindlaks, kas number on Armstrongi number või mitte. Kui sisestatud number on Armstrongi number, prindib programm automaatselt Armstrongi numbrina ja kui see pole üks, vastab ta automaatselt, et see number pole Armstrongi number. Saame sisestada kolme- või neljakohalised väärtused, et kontrollida, kas number on Armstrongi number või mitte.

Programmi loogika on selline, et temp muutujasse salvestatakse vastava numbri iga number. Seejärel kuubitakse number, et leida vastava numbri kuup, mis salvestatakse teise muutuja kogusummas. Lõpuks kontrollitakse koguarvu vastava algse numbriga. Numbrid saadakse ükshaaval, jagades numbri igal sammul 10-ga ja saades seejärel ülejäänud numbri ning seejärel kubistades numbri, et saada vastava numbri kuup.

Kood:

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äljund:

Esimeses programmis sisestame numbriteks 370 ja 153 numbrid, et kontrollida, kas need on Armstrong või mitte. Samuti sisestame numbrina 269, et kontrollida, kas number on Armstrong. Saame vastava programmi väljundina, et numbrid 370 ja 153 on Armstrongi numbrid, arv 269 pole aga Armstrongi arv.

Näide 2

Teises kodeerimise näites valime numbrite vahemiku, mida kontrollitakse, kas need on Armstrongi numbrid või mitte. Vahemik on vahemikus 150 kuni 160. Valime vahemiku ja kontrollime väljundit, kas arv on Armstrongi number või mitte. Siis näeme väljundit. Kasutatav loogika sarnaneb Armstrongi numbri leidmiseks kasutatud loogikaga. Arvutatakse numbri vastavad numbrid ning seejärel kuubitakse ja summeeritakse lõpliku koguarvu leidmiseks. Kui lõplik koguarv võrdub algse numbriga, loetakse nad Armstrongi arvudeks, mis arvutatakse.

Kood:

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äljund:

Valimi väljundis näeme, et kõik numbrid vahemikus 150 kuni 160 on kontrollitud, kas need on Armstrongi numbrid või mitte. Programm on teatanud, et ainult 153 on Armstrongi arv, mille numbrikuubikute summa on võrdne algse numbriga. Kõik ülejäänud numbrid on esitatud kui Armstrongi numbrid.

Näide 3

Selles kodeerimise näites näeme Armstrongi numbrite loetelu, mis esinevad vahemikus 365 kuni 375. Muutame Armstrongi numbrite jaoks kontrollitavate väärtuste vahemikku. Kodeerimise näidisloogika on täpselt sama, mis eelmistel. Peamine erinevus seisneb vaid selles, et kontrollitavate numbrite vahemikku muudetakse ja need erinevad natuke viimasest koodireast.

Üksikud numbrid võetakse, kuubitakse ja summeeritakse, et saada number. Kui see number on sama mis algupärane number, siis nimetatakse algset numbrit Armstrongi numbriks, vastasel juhul pole see Armstrongi number.

Kood:

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äljund:

Programmi antud valimi väljundis näeme, et ainult 371 ja 370 on Armstrongi numbrid, teised arvud aga mitte, kuna üksikute numbrite kuubikute summa ei moodusta algset arvu.

Järeldus - Armstrongi arv Java-s

Selles artiklis oleme näinud Armstrongi numbri toimimist ja määratlust. Esiteks kontrollime, kas sisestatud number on Armstrongi number või mitte. Teiseks sisestame väärtuste vahemiku 150 kuni 160 ja kontrollime, mitu Armstrongi arvu nende väärtuste vahel on. Kolmandaks sisestame arvude vahemiku 365 kuni 375 ja saame teada, et 370 ja 371 on Armstrongi numbrid. Armstrongi numbrid on numbriteoorias kasutatavad erinumbrid, mille abil saab leida mõne numbri numbrite olemuse koos nende kuubikute summaga.

Soovitatavad artiklid

See on Java Armstrongi numbri juhend. Siit saate paari näite abil illustreerida Java Armstrongi arvu. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Staatiline märksõna Java-s
  2. Palindroom Java
  3. Ülekaalus Java
  4. Juhuslike arvude generaator Java-s

Kategooria: