C Programm zur Anzeige der Armstrong-Nummer zwischen zwei Intervallen

In diesem Beispiel lernen Sie, alle Armstrong-Zahlen zwischen zwei vom Benutzer eingegebenen Ganzzahlen zu finden.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden C-Programmierthemen kennen:

  • C if… else Statement
  • C für Schleife

Eine positive ganze Zahl wird als Armstrong-Zahl (der Ordnung n) bezeichnet, wenn

 abcd… = an + bn + cn + dn + 

Bei einer Armstrong-Zahl mit 3 Ziffern entspricht die Summe der Würfel jeder Ziffer der Zahl selbst. Zum Beispiel ist 153 eine Armstrong-Nummer, weil

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

Bevor Sie dieses Programm ausprobieren, lernen Sie, wie Sie überprüfen, ob eine Ganzzahl eine Armstrong-Zahl ist oder nicht.

Armstrong-Zahlen zwischen zwei ganzen Zahlen

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

Ausgabe

 Geben Sie zwei Zahlen (Intervalle) ein: 200 2000 Armstrong-Zahlen zwischen 200 und 2000 sind: 370 371 407 1634 

Im Programm wird die äußere Schleife von (niedrig + 1) nach (hoch - 1) iteriert . In jeder Iteration wird geprüft, ob die Nummer eine Armstrong-Nummer ist oder nicht.

Innerhalb der äußeren Schleife wird zuerst die Anzahl der Ziffern einer Ganzzahl berechnet und in gespeichert count. Und die Summe der Potenz einzelner Ziffern wird in der Ergebnisvariablen gespeichert.

Wenn die Zahl gleich ist, resultist die Zahl eine Armstrong-Zahl.

Hinweis: Sie müssen die Anzahl und das Ergebnis in jeder Iteration der äußeren Schleife auf 0 zurücksetzen.

Interessante Beiträge...