Programme C ++ pour vérifier le numéro Armstrong

Dans cet exemple, vous apprendrez à vérifier si un numéro entré par l'utilisateur est un numéro Armstrong ou non.

Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation C ++ suivantes:

  • C ++ if, if… else et Nested if… else
  • Boucle while et do… while C ++

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

abcd… = a n + b n + c n + d n +…

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 

Exemple: vérifier le nombre Armstrong de 3 chiffres

 #include using namespace std; int main() ( int num, originalNum, remainder, result = 0; cout <> num; originalNum = num; while (originalNum != 0) ( // remainder contains the last digit remainder = originalNum % 10; result += remainder * remainder * remainder; // removing last digit from the orignal number originalNum /= 10; ) if (result == num) cout << num << " is an Armstrong number."; else cout << num << " is not an Armstrong number."; return 0; )

Production

 Entrez un entier positif: 371 371 est un nombre Armstrong.

Dans le programme, nous parcourons la boucle while jusqu'à ce que originalNum soit 0.

À chaque itération de la boucle, le cube du dernier chiffre de orignalNum est ajouté au résultat.

 remainder = originalNum % 10; result += remainder * remainder * remainder;

Et, le dernier chiffre est supprimé du fichier orignalNum.

Lorsque la boucle se termine, la somme du cube du chiffre individuel est stockée dans result.

Exemple: Vérifier le nombre Armstrong de n chiffres

 #include #include using namespace std; int main() ( int num, originalNum, remainder, n = 0, result = 0, power; cout <> num; originalNum = num; while (originalNum != 0) ( originalNum /= 10; ++n; ) originalNum = num; while (originalNum != 0) ( remainder = originalNum % 10; // pow() returns a double value // round() returns the equivalent int power = round(pow(remainder, n)); result += power; originalNum /= 10; ) if (result == num) cout << num << " is an Armstrong number."; else cout << num << " is not an Armstrong number."; return 0; )

Production

 Entrez un entier: 1634 1634 est un nombre Armstrong.

Dans ce programme, le nombre de chiffres du nombre entré est calculé en premier et stocké dans n.

Et, la pow()fonction calcule la puissance des chiffres individuels à chaque itération de la whileboucle.

Articles intéressants...