Jaki jest numer Armstronga w Javie? To wymagania wstępne i algorytm

Opublikowany: 2021-04-08

Spis treści

Jaki jest numer Armstronga?

Dana liczba x nazywana jest liczbą Armstronga rzędu n, jeśli jest równa sumie jej cyfr podniesionych do potęgi n, tj.:

abc= pow(a,n) + pow(b,n) + pow(c,n)

Dodatnia liczba całkowita składająca się z n cyfr jest liczbą Armstronga (rzędu 3), jeśli jest równa sumie sześcianów jej cyfr. Na przykład:

Wejście: 153

Wyjście: Tak

1*1*1 + 5*5*5 + 3*3*3 = 153

Zatem 153 to liczba Armstronga

Wejście: 121

Wyjście: Nie

1*1*1 + 2*2*2 + 1*1*1 = 10

Tak więc 120 nie jest liczbą Armstronga.

Wymagania wstępne i algorytm

W tym artykule nauczymy się sprawdzać, czy numer wejściowy jest liczbą Armstronga, czy nie. W tym celu użyjemy pętli while i pętli for w Javie. Aby zrozumieć ten program, potrzebujemy znajomości następujących tematów w Javie:

  • Instrukcja if-else w Javie
  • Java dla pętli
  • Pętla while i do-while w Javie

Algorytm:

  1. Weź zmienną całkowitą x
  2. Wartość jest przypisana do zmiennej x
  3. Cyfry wartości są podzielone
  4. Znaleziono wartość kostki każdej cyfry
  5. Dodaj wartości wszystkich kostek
  6. Wyjście jest zapisywane do zmiennej sumy
  7. Jeśli sum=X, wypisz liczbę Armstronga

Jeśli suma != X, drukuj nie liczbę Armstronga

Program do sprawdzania numeru Armstronga w Javie

1. Numer Armstronga w Javie rzędu 3

Kod:

klasa publiczna Armstrong{

public static void main(String[] args) {

int x=0,a,temp;

int n=153;//To numer do sprawdzenia Armstronga

temp=n;

gdy(n>0)

{

a=n%10;

n=n/10;

x=x+(a*a*a);

}

jeśli(temp==x)

System.out.println("Numer Armstronga");

w przeciwnym razie

System.out.println („Nie numer Armstronga”);

}

}

Wyjście:

Wyjaśnienie

Po pierwsze, wartość danej liczby N jest przechowywana w innej zmiennej całkowitej x. Odbywa się to, ponieważ musimy porównać wartości oryginalnej liczby i końcowej liczby na końcu. Pętla while służy do przechodzenia przez liczbę N, aż będzie ona równa 0. Przy każdej iteracji ostatnia cyfra N jest przechowywana w a.

Następnie wynik jest obliczany przez kostkę lub za pomocą Math. pow() i dodanie go do x. Kiedy ostatnia cyfra jest usunięta z N, jest dzielona przez 10. Na koniec =, temp i X są porównywane. Jeśli są równe, jest to liczba Armstronga. W przeciwnym razie tak nie jest.

2. Liczba Armstronga w Javie rzędu n

Kod:

klasa publiczna Armstrong

{

/* Funkcja do obliczenia podniesionej do

moc b */

int power(int a, long b)

{

jeśli( b == 0)

powrót 1;

jeśli (b%2 == 0)

moc zwrotu(a, b/2)*moc(a, b/2);

zwróć a*potęgę(a, b/2)*moc(a, b/2);

}

/* Funkcja obliczania kolejności liczby */

kolejność wewnętrzna (int a)

{

int n = 0;

gdy (a != 0)

{

n++;

a = a/10;

}

powrót n;

}

// Funkcja sprawdzająca, czy podana liczba jest liczbą Armstronga, czy nie

Boole'a Armstronga (int a)

{

// Wywołanie funkcji zamówienia

int n = rząd(a);

int temp=a, suma=0;

podczas (temp!=0)

{

int r = temp%10;

suma = suma + moc(r,n);

temp = temp/10;

}

// Jeśli spełnia warunek Armstronga

zwrot (suma == a);

}

// Program sterownika

public static void main(String[] args)

{

Armstrong obj = nowy Armstrong();

int a = 153;

System.out.println(obj.isArmstrong(a));

a = 1276;

System.out.println(obj.isArmstrong(a));

}

}

Wyjście :

Wyjaśnienie

W tym programie zamiast pętli while użyliśmy rekurencji. Pierwsza funkcja służy do obliczania liczby a podniesionej do potęgi b. Math.pow(a,b) może również służyć do tego samego. Druga funkcja sprawdza kolejność liczby, na przykład 153 jest rzędu 3. Wreszcie, funkcja Boolean Armstrong jest używana do zwrócenia, jeśli liczba to Armstrong, czy nie. Następnie do wywołania funkcji używany jest obiekt klasy Armstrong.

Program Java do drukowania liczb Armstronga w podanym zakresie

Kod:

klasa publiczna Armstrong

{

public static void main(String[] arg)

{

int i=0,x;

System.out.println("Liczby Armstronga od 0 do 999");

podczas (i<1000)

{

x=armstrongOrNie(i);

jeśli(x==i)

System.out.println(i);

i++;

}

}

statyczny int armstrongOrNot(int n)

{

int c,a=0;

podczas(n!=0)

{

c=n%10;

a=a+(c*c*c);

n/=10 ;

}

zwróć;

}

}

Wyjście:

Wyjaśnienie: W tym programie sprawdzana jest każda liczba pomiędzy podanym niskim i wysokim przedziałem. Po każdym czeku suma i liczba cyfr są przywracane do 0.

Wniosek

W tym artykule szczegółowo omówiliśmy numer Armstronga w języku Java. Widzieliśmy, jak sprawdzić, czy liczba jest liczbą Armstronga rzędu n i rzędu 3. Widzieliśmy również, jak można uzyskać wszystkie liczby Armstronga między dolną a górną granicą.

Jeśli chcesz poprawić swoje umiejętności w języku Java, musisz zdobyć te projekty Java. Jeśli chcesz dowiedzieć się więcej o Java, programowaniu z pełnym stosem, sprawdź program Executive PG UpGrad i IIIT-B w zakresie tworzenia pełnego stosu oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Jeśli chcesz dowiedzieć się więcej o Javie i zrobić postęp w swojej karierze technicznej, zapoznaj się z bezpłatnym kursem online Java prowadzonym przez największą indyjską firmę zajmującą się edukacją wyższą online, upGrad. Skontaktuj się z nami, aby uzyskać więcej informacji.

Zostań programistą Full Stack

AKTUALIZACJA I DYPLOM PG IIIT-BANGALORE W ROZWOJU OPROGRAMOWANIA
ZAREJESTRUJ SIĘ TERAZ @ AKTUALIZACJA