Programme de nombres Armstrong en C

Un nombre armstrong est un nombre égal à la somme des cubes de ses chiffres individuels. Par exemple, 153 est un nombre armstrong comme -

153 = (1)3 + (5)3 + (3)3
153 = 1 + 125 + 27
153 = 153

Algorithme

L'algorithme de ce programme est très simple -

START
   Step 1 → Take integer variable Arms
   Step 2 → Assign value to the variable
   Step 3 → Split all digits of Arms
   Step 4 → Find cube-value of each digits
   Step 5 → Add all cube-values together
   Step 6 → Save the output to Sum variable
   Step 7 → If Sum equals to Arms print Armstrong Number
   Step 8 → If Sum not equals to Arms print Not Armstrong Number
STOP

Pseudocode

Nous pouvons rédiger un pseudocode de l'algorithme ci-dessus comme suit -

procedure armstrong : number
   
   check = number
   rem   = 0
   
   WHILE check IS NOT 0
      rem ← check modulo 10
      sum ← sum + (rem)3
      divide check by 10
   END WHILE
      
   IF sum equals to number
      PRINT armstrong
   ELSE
      PRINT not an armstrong
   END IF

end procedure

la mise en oeuvre

La mise en œuvre de cet algorithme est donnée ci-dessous. Vous pouvez changer la valeur de la armsvariable et exécuter et vérifier votre programme -

#include <stdio.h>

int main() {
   int arms = 153; 
   int check, rem, sum = 0;

   check = arms;

   while(check != 0) {
      rem = check % 10;
      sum = sum + (rem * rem * rem);
      check = check / 10;
   }

   if(sum == arms) 
      printf("%d is an armstrong number.", arms);
   else 
      printf("%d is not an armstrong number.", arms);
      
   return 0;
}

Production

Le résultat du programme doit être -

153 is an armstrong number.