Program suite;
uses wincrt;
var
m,n:integer;
procedure saisie(var n,m:integer);
begin repeat
writeln('Donner N et M deux entiers positifs de deux chiffres');
readln(n,m);
until (n in [10..99]) and (m in [10..99]);
end;
Function nbsuite(n:integer):integer;
var
x,i,j,s:integer;
begin i:=1;
x:=0;
repeat j:=i;
s:=0;
repeat s:=s+j;
j:=j+1;
until (s=n) or (j=n) ; if s=n then x:=x+1;
i:=i+1;
until i=n;
nbsuite:=x;
end;
procedure affiche(n:integer);
var
ch,jj:string;
i,j,x,s:integer;
begin i:=1;
x:=0;
repeat str(n,ch);
ch:=ch+'=';
j:=i;
s:=0;
repeat s:=s+j;
str(j,jj);
ch:=ch+jj+'+';
j:=j+1;
until (s=n) or (j=n) ; if s=n then
begin
delete(ch,length(ch),1);
writeln(ch);
end;
i:=i+1;
until i=n;
end;
begin
saisie(n,m);
writeln;
if nbsuite(n)> nbsuite(m) then begin
writeln(n,' a ',nbsuite(n),' suite(s) d''entiers consecutifs');
affiche(n);
writeln;
end
else if nbsuite(m)> nbsuite(n) then begin
writeln(m,' a ',nbsuite(m),' suite(s) d''entiers consecutifs');
affiche(m);
end else begin
writeln('m & n ont ',nbsuite(m),' suite(s) d''entiers consecutifs');
affiche(m);
end end.