Program C do wyświetlania numeru Armstronga w dwóch odstępach czasu

W tym przykładzie nauczysz się znajdować wszystkie liczby Armstronga między dwiema liczbami całkowitymi wprowadzonymi przez użytkownika.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:

  • C if… else Statement
  • C jak pętla

Dodatnią liczbę całkowitą nazywamy liczbą Armstronga (rzędu n) jeśli

 abcd… = an + bn + cn + dn + 

W przypadku liczby Armstronga składającej się z 3 cyfr, suma kostek każdej cyfry jest równa samej liczbie. Na przykład 153 to liczba Armstronga, ponieważ

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

Przed wypróbowaniem tego programu dowiedz się, jak sprawdzić, czy liczba całkowita jest liczbą Armstronga, czy nie.

Liczby Armstronga między dwiema liczbami całkowitymi

 #include #include int main() ( int low, high, number, originalNumber, rem, count = 0; double result = 0.0; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Armstrong numbers between %d and %d are: ", low, high); // iterate number from (low + 1) to (high - 1) // In each iteration, check if number is Armstrong for (number = low + 1; number < high; ++number) ( originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++count; ) originalNumber = number; // result contains sum of nth power of individual digits while (originalNumber != 0) ( rem = originalNumber % 10; result += pow(rem, count); originalNumber /= 10; ) // check if number is equal to the sum of nth power of individual digits if ((int)result == number) ( printf("%d ", number); ) // resetting the values count = 0; result = 0; ) return 0; )

Wynik

 Wpisz dwie liczby (przedziały): 200 2000 Numery firmy Armstrong od 200 do 2000 to: 370 371 407 1634 

W programie pętla zewnętrzna jest iterowana od (niski + 1) do (wysoki - 1) . W każdej iteracji sprawdzane jest, czy liczba jest liczbą Armstronga, czy nie.

W zewnętrznej pętli liczba cyfr liczby całkowitej jest obliczana jako pierwsza i przechowywana w count. A suma potęgi poszczególnych cyfr jest przechowywana w zmiennej wynikowej.

Jeśli liczba jest równa result, jest to liczba Armstronga.

Uwaga: Musisz zresetować licznik i wynik do 0 w każdej iteracji zewnętrznej pętli.

Interesujące artykuły...