Hvordan kontrolleres, om et givet nummer er et Armstrong-nummer eller ej?



Denne artikel om Armstrong-nummer i Java hjælper dig med at undersøge, hvordan du kontrollerer, om det givne nummer er et Armstrong-nummer eller ikke i Java.

I talteori, et narcissistisk tal, er et Armstrong-nummer opkaldt efter Michael F. Armstrong er et tal, der er summen af ​​sine egne cifre, der hver hæves til styrken af ​​antallet af cifre. I dette Armstrong nummer i artikel, lad oslære at kontrollere, om et givet nummer er Armstrong-nummer eller ej.

Emnerne diskuteret i denne artikel er:





Lad os begynde!

Hvad er et Armstrong nummer?

Summen af ​​kraften i de enkelte cifre er lig med selve tallet. Mellem 1 og 1000 er der fem Armstrong-tal. De er: - 1, 153, 370, 371, 407. Her er den generelle ligning.



er kandidatgrad
abcd ... = an+ bn+ cn+ dn+ ... 

Lad os tjekke konceptet med nogle eksempler.
Eksempel 1: 370

3 * 3 * 3 + 7 * 7 * 7 + 0 * 0 * 0 = 27 + 343 + 0 = 370

Eksempel 2: 407
4 * 4 * 4 + 0 * 0 * 0 + 7 * 7 * 7 = 64 + 0 + 343 = 407



Jeg håber, at du er klar med konceptet nu. Lad os se, hvordan du går viderekontrollere, om et givet nummer er Armstrong-nummer eller ikke i Java.

Java-program til at kontrollere et Armstrong-nummer

Du kan tjekkeom et givet tal er Armstrong-nummer eller ikke i Java på to måder:

  1. Brug af 'while' løkke
  2. Java 'for' løkke

Ved brug af 'mens' løkke

I tilfælde af et Armstrong-antal på 3 cifre er summen af ​​terninger af hvert ciffer lig med selve tallet. Eksempelprogrammet nedenfor kontrollerer, om et givet 3-cifret nummer er Armstrong-nummer eller ej.

pakke MyPackage public class ArmstrongNumber {public static void main (String [] args) {int num = 371, originalNum, rest, result = 0 originalNum = num while (originalNum! = 0) {rest = originalNum% 10 result + = Math. pow (resten, 3) originalNum / = 10} hvis (resultat == num) System.out.println (num + 'er et Armstrong-nummer.') ellers System.out.println (num + 'er ikke et Armstrong-nummer. ')}}

Produktion : 371 er et Armstrong-nummer.


De trin, der er anført i koden, er:

  • Den første linje i mens løkke udtrækker det sidste ciffer (resten) fra det angivne nummer
  • Den anden linje beregner terningen for det sidste ciffer taget fra forrige trin og føjer den til resultat
  • Derefter fjernes det sidste ciffer fra originalNum efter division med 10

Brug af 'til '' løkke

pakke MyPackage offentlig klasse Armstrong {public static void main (String [] args) {int number = 9474, originalNumber, rest, result = 0, n = 0 originalNumber = number for (originalNumber! = 0 originalNumber / = 10) {n ++} originalNumber = nummer for (originalNumber! = 0 originalNumber / = 10) {rest = originalNumber% 10 resultat + = Math.pow (rest, n)} hvis (resultat == nummer) System.out.println (nummer + 'er et Armstrong-nummer. ') Ellers System.out.println (nummer +' er ikke et Armstrong-nummer. ')}}

Produktion:

9474 er et Armstrong-nummer.

Her har vi to til sløjfer. Den første beregner antallet af cifre i det givne nummer. Den anden sløjfe kontrollerer, om det givne nummer er Armstrong-nummer eller ej.

Med dette har vi nået mod slutningen af ​​denne artikel. Jeg håber, at indholdet forklaret ovenfor tilføjede værdi til din Java-viden. Fortsæt med at læse, fortsæt med at udforske!

Tjek den af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, for at blive et ud over dette java-interviewspørgsmål, kommer vi med en læseplan, der er designet til studerende og fagfolk, der ønsker at være Java-udvikler.

Har du et spørgsmål til os? Nævn det i kommentarfeltet på denne 'Armstrong-nummer i Java' -blog, og vi vender tilbage til dig hurtigst muligt.