Calcul des nombres d’Armstrong

Objectif :

On dénomme nombre d’Armstrong un entier naturel qui est égal à la somme des cubes des chiffres qui le composent.

Exemple :

153 = 1 + 125 + 27, est un nombre d’Armstrong.

Spécifications de l’algorithme :

On sait qu'il n'existe que 4 nombres d’Armstrong, et qu'ils ont tous 3 chiffres (ils sont compris entre 100 et 500). Si l'on suppose qu'un tel nombre est écrit ijk (i chiffre des centaines, j chiffres des dizaines et k chiffres des unités), il suffit simplement d'envisager tous les nombres possibles en faisant varier les chiffres entre 0 et 9 et de tester si le nombre est d’Armstrong.

Implantation en C#

Ecrivez le programme C# complet qui fournisse les 4 nombres d’Armstrong : Nombres d’Armstrong:

Proposition de squelette de classe C# à implanter :

class ApplicationArmstrong {
   static void Main(string[ ] args) {
   ……..
   }
}

La méthode Main calcule et affiche les nombres d’Armstrong.

Squelette plus détaillé de la classe C# à implanter :

using System;
namespace CsExosAlgo1
{
   class ApplicationArmstrong {
      static void Main(string[ ] args) {
          int i, j, k, n, somcube;
          System.Console.WriteLine("Nombres d’Armstrong:");
          for(i = 1; i<=9; i++)
             for(j = 0; j<=9; j++)
                for(k = 0; k<=9; k++)
                {
                ……
                }
      }
    }
}

Calcul d'un Palindrome

Objectif : Une phrase est dite palindrome si en éliminant les blancs entre les mots, elle représente la même lecture dans les deux sens.

Exemple : elu par cette crapule = eluparc ettec rap ule

Proposition de squelette de classe C# à implanter :

class  palindrome
{
   static  string  compresser ( string  s )
   {     …..   

   }
    
  static  string  inverser ( string  s )
  {     …..    

  }
  static void  Main ( string [ ] args )
  {
     System .Console.WriteLine ("Entrez une phrase :");
     string  phrase  = System .Console.ReadLine ( );
     string  strMot  =  compresser ( phrase );
     string  strInv  =  inverser ( strMot );
     if( strMot == strInv )
       System .Console.WriteLine ("phrase palindrome !");
    else
       System .Console.WriteLine ("phrase non palindrome !");
     System .Console.ReadLine ( );
  }
}

Travail à effectuer :

Ecrire les méthodes compresser et Inverser, il est demandé d'écrire une version de la méthode Inverser en construisant une chaîne locale à la méthode, caractère par caractère avec une boucle for à un seul indice.