Un numéro Armstrong est un concept clé dans le domaine du chiffrement et du déchiffrement pour la sécurité des données.
Le concept général de traitement des chiffres d'un nombre est une technique fondamentale. Vous pouvez résoudre de nombreuses tâches avec cette approche, comme additionner des chiffres, obtenir le produit de chiffres, compter des chiffres et inverser un nombre.
Mais qu'est-ce qu'un nombre d'Armstrong et comment le tester ?
Qu'est-ce qu'un nombre d'Armstrong ?
Un nombre d'Armstrong est un nombre dont la somme des cubes de ses chiffres est égale au nombre lui-même. Par exemple, 153 est un nombre d'Armstrong. Si vous prenez les chiffres de 153 individuellement et que vous les mettez au cube :
(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)
Ajoutez ensuite les résultats :
1 + 125 + 27
Vous obtiendrez 153, le même que le nombre d'origine.
Un algorithme pour trouver un nombre d'Armstrong
L'écriture d'un algorithme est la première étape de la mise en œuvre de tout programme. Vous pouvez utiliser l'algorithme comme référence pour écrire un pseudocode, puis l'implémenter en utilisant le langage de programmation de votre choix. Un algorithme vous donne la série exacte d'instructions à suivre, éliminant les erreurs de logique et simplifiant la mise en œuvre.
Voici l'algorithme pour savoir si un nombre est Armstrong ou non :
- Déclarer les variables sum, temp, n, r
- Prendre la valeur de n de l'utilisateur
- Initialiser la somme variable à 0 et prendre la sauvegarde de n comme temp = n
- Répétez les étapes 5 à 7 tant que n > 0
- r = n % 10
- somme = somme + cube de chaque chiffre (r × r × r)
- n = n / 10
- Si la somme est égale à la température, affichez "Le nombre est un nombre d'Armstrong"
- Sinon, affichez "Le numéro n'est pas un numéro Armstrong"
Pseudocode pour la mise en œuvre de l'algorithme d'Armstrong
Le pseudocode peut être une étape utile dans la conception de l'implémentation d'un algorithme. L'écriture du pseudocode vous aide à le convertir facilement en code dans n'importe quel langage de programmation. Voici le pseudocode pour l'implémentation du nombre Armstrong :
Le programme Armstrong en C
Observez le pseudo-code ci-dessus et convertissez chaque instruction en code C.
Commencez par importer stdio.h pour effectuer les opérations d'entrée et de sortie. Déclarez le principal fonction et commencer à mettre en œuvre la logique du programme. Utiliser n pour stocker le numéro d'entrée, r pour stocker les chiffres individuels du numéro, somme stocker la somme des cubes des chiffres, et temp pour stocker une copie du numéro.
Utilisez le printf fonction pour demander à l'utilisateur d'entrer un nombre. Utilisez le scanf fonction pour lire le nombre et le stocker dans une variable n. %d est le spécificateur de format décimal pour prendre un entier en entrée.
Effacez toute valeur inutile en initialisant sum à zéro et effectuez une sauvegarde de n en tant que temp.
#inclure <stdio.h>
entierprincipal()
{
entier n, r, somme, temp ;
printf("Veuillez entrer un nombre: ");
scanf("%d", &n);
somme = 0; temp = n ;
Déclarer un alors que boucle qui s'exécute jusqu'à ce que le nombre soit égal ou inférieur à zéro. À l'intérieur de la boucle se trouve un processus en trois étapes que vous pouvez utiliser dans diverses autres tâches de programmation. Les trois étapes sont :
- Obtenez le chiffre individuel du nombre en prenant le module du nombre avec 10. Lorsque vous divisez un nombre par 10 dans son ensemble, le reste est le dernier chiffre lui-même. Par exemple, lorsque vous divisez 153 par 10, le résultat entier est 15 et le module est 3.
- Lorsque vous avez le chiffre individuel, vous pouvez effectuer l'opération souhaitée. Pour trouver un nombre d'Armstrong, l'opération souhaitée est la somme des cubes des chiffres du nombre. Prenez le cube du chiffre r et ajoutez-le à la variable somme.
- Supprimez le dernier chiffre du nombre en le divisant par 10. En divisant par 10, vous obtenez le quotient, dans ce cas, 15.
alors que (n > 0) {
r = n % 10;
somme = somme + (r * r * r);
n=n/10 ;
}
Vérifiez si la somme obtenue est égale au nombre d'origine. S'ils sont égaux, le nombre est bien un nombre d'Armstrong, sinon ce n'est pas le cas.
si (temp == somme)
printf("Le numéro est un numéro Armstrong\n");
autre
printf("Le numéro n'est pas un numéro Armstrong\n");
retour0;
}
Autres applications de l'algorithme général
En modifiant la deuxième étape de la logique en trois étapes vue ci-dessus, vous pouvez mettre en œuvre une variété de programmes.
1. Somme, produit des chiffres du nombre
Pour obtenir la somme des chiffres d'un nombre, il suffit de remplacer la ligne par :
somme = somme + r ;
Pour product, déclarez la variable prod comme 1 et remplacez la somme d'addition par un symbole de multiplication :
prod = prod * r ;
2. Nombre de chiffres du nombre
Pour compter les chiffres d'un nombre, initialisez simplement un nombre de variables à zéro, omettez la première étape et incrémentez-le jusqu'à ce que n soit égal à zéro. L'implémentation de la boucle ressemblera à ceci :
alors que (n > 0) {
compter++ ;
n=n/10 ;
}
3. Revers du nombre, nombre palindrome
Pour inverser un nombre, initialisez une variable rev à un et ajoutez-la après avoir multiplié par dix :
rev = (rev * 10) + r ;
Une fois que vous obtenez l'inverse d'un nombre, comparez-le à la copie du nombre original lui-même. Si le nombre inverse est égal au nombre lui-même, c'est un nombre Palindrome.
4. Plus petit et plus grand chiffre d'un nombre
Initialisez une variable min à neuf et comparez-la avec le chiffre extrait de la première étape pour trouver le plus petit chiffre d'un nombre. Vous pouvez l'implémenter comme:
si (r < min) {
min = r ;
}
De même, initialisez une variable max avec zéro et comparez-la avec le chiffre extrait pour trouver le plus grand chiffre d'un nombre. Vous pouvez l'implémenter comme:
si (r > maximum) {
max = r ;
}
C'est ainsi que vous pouvez trouver le plus grand et le plus petit chiffre d'un nombre.
5. Numéros spéciaux
Il existe de nombreux autres nombres, comme un nombre d'Armstrong, que vous pouvez calculer. Ceux-ci incluent le nombre néon, le nombre automorphique, le nombre Krishnamurthy, le nombre Buzz, le nombre parfait, le nombre amiable et le nombre premier jumeau.
Programmation et Mathématiques
Les mathématiques sont largement utilisées en programmation. Les mathématiques binaires sont au cœur de la programmation car tous les logiciels que vous utilisez aujourd'hui sont une combinaison des chiffres zéro et un. Toutes les données avec lesquelles vous travaillez sont stockées au format binaire. L'algèbre linéaire est utilisée dans les applications d'apprentissage automatique, les algorithmes de graphes, le calcul quantique, etc.
Le calcul, les mathématiques discrètes et les statistiques sont largement utilisés dans la résolution de problèmes et la conception d'algorithmes. Les mathématiques améliorent vos compétences en calcul et constituent une partie essentielle de la programmation.