Programme avec boucle while
Résolu
abdelkarim_jb
Messages postés
31
Statut
Membre
-
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
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
-
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-
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 :)
-