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
A voir également:
- Programme avec boucle while
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
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
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 :)