Programme C pour afficher le nombre Armstrong entre deux intervalles

Dans cet exemple, vous apprendrez à trouver tous les nombres Armstrong entre deux entiers entrés par l'utilisateur.

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation C suivants:

  • C if… else Déclaration
  • C pour boucle

Un entier positif est appelé un nombre d'Armstrong (d'ordre n) si

 abcd… = an + bn + cn + dn + 

Dans le cas d'un nombre Armstrong de 3 chiffres, la somme des cubes de chaque chiffre est égale au nombre lui-même. Par exemple, 153 est un nombre Armstrong car

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

Avant d'essayer ce programme, apprenez à vérifier si un entier est un nombre Armstrong ou non.

Nombres Armstrong entre deux entiers

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

Production

 Entrez deux nombres (intervalles): 200 2000 Les nombres Armstrong entre 200 et 2000 sont: 370371407 1634 

Dans le programme, la boucle externe est itérée de (low + 1) à (high - 1) . À chaque itération, il est vérifié si le nombre est un nombre Armstrong ou non.

À l'intérieur de la boucle externe, le nombre de chiffres d'un entier est calculé en premier et stocké dans count. Et, la somme de la puissance des chiffres individuels est stockée dans la variable de résultat.

Si nombre est égal à result, le nombre est un nombre Armstrong.

Remarque: vous devez réinitialiser le nombre et le résultat à 0 à chaque itération de la boucle externe.

Articles intéressants...