C Programmeer om Armstrong-nummer tussen twee intervallen weer te geven

In dit voorbeeld leert u alle Armstrong-getallen te vinden tussen twee gehele getallen die door de gebruiker zijn ingevoerd.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C-programmeeronderwerpen:

  • C if… else Statement
  • C voor Loop

Een positief geheel getal wordt een Armstrong-getal (van orde n) genoemd als

 abcd… = an + bn + cn + dn + 

In het geval van een Armstrong-nummer van 3 cijfers, is de som van de kubussen van elk cijfer gelijk aan het nummer zelf. 153 is bijvoorbeeld een Armstrong-nummer omdat

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

Voordat u dit programma uitprobeert, moet u weten hoe u kunt controleren of een geheel getal een Armstrong-getal is of niet.

Armstrong-nummers tussen twee gehele getallen

 #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; )

Uitvoer

 Voer twee getallen (intervallen) in: 200 2000 Armstrong-getallen tussen 200 en 2000 zijn: 370371407 1634 

In het programma wordt de buitenste lus herhaald van (laag + 1) tot (hoog - 1) . Bij elke iteratie wordt gecontroleerd of het nummer een Armstrong-nummer is of niet.

Binnen de buitenste lus wordt het aantal cijfers van een geheel getal eerst berekend en opgeslagen in count. En de som van de macht van individuele cijfers wordt opgeslagen in de resultaatvariabele.

Als nummer gelijk is aan result, is het nummer een Armstrong-nummer.

Opmerking: u moet het aantal en het resultaat opnieuw instellen op 0 in elke iteratie van de buitenste lus.

Interessante artikelen...