English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C Language Basic Tutorial

C Contrôle de flux

Fonctions du langage C

Tableaux en langage C

Pointeurs en langage C

Chains de caractères en langage C

C Structures de langage

C Fichiers de langage

C Autres

C Manuel de référence du langage

C programme pour vérifier les nombres Armstrong

Tous les exemples de programmation en C

Dans cet exemple, vous allez apprendre à vérifier si un entier entré par l'utilisateur est un nombre Armstrong.

Pour comprendre cet exemple, vous devriez comprendre ce qui suitC langage de programmationThème :

Si un nombre entier positif satisfait les conditions suivantes, il est appelé nombre Armstrong (degré n), si

abcd... = an + bn + cn + dn +

Pour3Le nombre Armstrong de n chiffres, la somme des cubes des chiffres est égal au nombre lui-même. Par exemple,153C'est un nombre Armstrong car

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

Vérifiez les nombres Armstrong de trois chiffres

#include <stdio.h>
int main() {
    int num, originalNum, remainder, result = 0;
    printf("Entrez un entier à trois chiffres: ");
    scanf("%d", &num);
    originalNum = num;
    while (originalNum != 0) {
       // Reste
        remainder = originalNum % 10;
        
       result += remainder * remainder * remainder;
        
       //Retirer le dernier chiffre du nombre original
       originalNum /= 10;
    }
    if (result == num)
        printf("%d est un nombre Armstrong.", num);
    else
        printf("%d n'est pas un nombre Armstrong.", num);
    return 0;
}

Résultat de la sortie

Entrez un entier à trois chiffres: 371
371 C'est un nombre d'Armstrong.

Vérifiez les nombres Armstrong de n chiffres

#include <math.h>
#include <stdio.h>
int main() {
   int num, originalNum, remainder, n = 0;
   float result = 0.0;
   printf("Entrez un entier: ");
   scanf("%d", &num);
   originalNum = num;
   //stocke le nombre de chiffres de num dans n
   for (originalNum = num; originalNum != 0; ++n) {
       originalNum /= 10;
   }
   for (originalNum = num; originalNum != 0; originalNum /= 10) {
       remainder = originalNum % 10;
      // stocke la somme des puissances des chiffres de la résultat
      result += pow(remainder, n);
   }
   // Si num est égal à result, alors ce nombre est un nombre Armstrong
   if ((int)result == num)
    printf("%d est un nombre Armstrong.", num);
   else
    printf("%d n'est pas un nombre Armstrong.", num);
   return 0;
}

Résultat de la sortie

Entrez un entier: 1634
1634 C'est un nombre d'Armstrong.

Dans ce programme, d'abord, calculez le nombre de chiffres d'un entier et stockez-le dans n. Et l'utilisation de la fonction pow() pour calculer la puissance de chaque chiffre dans chaque itération de la deuxième boucle for.

Tous les exemples de programmation en C