Comment écrire un programme en C/C++ pour vérifier qu'un nombre est Armstrong non ou non ?

3 Réponses


  • #include
    #include
    void main()
    {
    int n,r,sum=0,m;
    clrscr();
    printf("entrez le nombre");
    scanf("%d",&n);
    n=m;
    while(n>0)
    {
    r=n%10;
    somme=somme+r*r*r;
    n=n/10 ;
    }
    if(somme==m)
    printf("non. Est-ce armstrong");
    else
    printf("pas armstrong");
    getch();
    }
  • Il y a un exemple d'un tel programme pour les nombres à 3 chiffres dans la réponse du 8 janvier sur www.geekinterview.com    Pas élégant, mais on dirait que cela fonctionnerait. Il ne devrait pas être difficile d'étendre cela pour permettre d'autres longueurs d'entrées (c'est-à-dire des nombres à 4 chiffres ou plus), bien que la méthode d'élévation d'un chiffre à la puissance n doive être modifiée par rapport à la méthode "NxNxN" utilisée dans l'exemple et vous devez changer la façon dont les chiffres individuels de l'entrée sont extraits. Fondamentalement, vous devez d'abord séparer les chiffres du numéro d'origine en différentes variables (par exemple, si 3456 est donné, définissez les variables i=3, j=4, k=5 et l=6). Ensuite, vous devez élever chacune de ces valeurs à la puissance de ... Quel que soit le nombre de chiffres dans le nombre d'origine (dans cet exemple, 4) et additionner les résultats, puis comparer cela à la somme des chiffres individuels. Est ce que ça aide,ou cherchiez-vous un code complet pour un programme qui gérerait une entrée de longueur variable ?
  • Vous connaissez le concept du nombre d'armstrong.
    Par exemple, considérons 153. La somme des cubes des chiffres de 153 qui est 1^3+5^3+3^3=153. C'est la façon dont vous décidez qu'un non est armstrong ou non

Ecrivez votre réponse

Votre réponse apparaîtra après modération