Programme avec boucle while

Résolu
abdelkarim_jb Messages postés 31 Statut Membre -  
abdelkarim_jb Messages postés 31 Statut Membre -
Bonjour,

est ce que vous pouvez me proposez ( en langage pascal ) un programme qui determine la plus grande valeur de n telle que la somme des n premiers nombres positifs soit inferieure a un nombre max entré par l'utilisateur ??
( exemple si max := 20 la reponse sera n=5, car 1+2+3+4+5=15 alor que 1+2+3+4+5+6=21 !! )

Merci

1 réponse

  1. Akronos Messages postés 163 Statut Membre 32
     
    Je connais pas le pascal, mais voilà un algo:

    Var  
     totalInf, totalSup, n, nbMax, nbAjouter: entier  
    Début  
     totalInf = 0  
     totalSup = 0  
     n = 0  
     nbAjouter = 1  
     Afficher("Saisisser le nombre max")  
     Saisir(nbMax)  
     TantQue(totalSup <= nbMax) Faire  
      Si((totalSup + nbAjouter) < nbMax) Alors  
       totalInf = totalSup + nbAjouter  
       totalSup = totalInf  
      Sinon  
       totalSup = totalSup + nbAjouter  
      FinSi  
      nbAjouter = nbAjouter + 1  
      n = n + 1;  
     FinTantQue  
       
     Afficher("La plus grande valeur de n tel que la somme des n premiers chiffres est inférieur ou égal à " + nbMax + ", est n = " + nbAjouter + ", avec " + n + " Iterations et un total de " + totalInf)  
    Fin
    1
    1. abdelkarim_jb Messages postés 31 Statut Membre
       
      Ben Jte Remercie Sa Mété Vraimen Utile ( Pfffffffffff Jme sui Arraché les Cheveu en cherchan l'idée je n'en avai aucune :s )

      Voila le corps du Program : "
      program ex3p7;

      var Tinf, Tsup, n, Max, Tmp : integer;

      begin
      Tinf := 0;
      Tsup := 0;
      n := 0;
      Tmp := 1;
      writeln('Introduisez un Nombre :');
      readln(Max);
      while (Tsup<=Max) do
      begin
      if (Tsup + Tmp)<Max then
      begin
      Tinf := Tsup + Tmp;
      Tsup := Tinf;
      end
      else
      Tsup := Tsup + Tmp;
      inc(tmp);
      inc(n);
      end;
      writeln('La Plus grande Valeur de N C''est : ', n-1, ' Avec une Somme De ', tinf);
      readln;

      end."

      Si sa peu Aidé les autres :)
      0