Programme avec boucle while
Résolu
abdelkarim_jb
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
abdelkarim_jb Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
abdelkarim_jb Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
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
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - 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 :)