function GetNFromM(M,N,ParentNum,MyStep:integer;str:string;memo:tmemo):Boolean; var i:integer; begin MyStep:=MyStep+1; for i:=ParentNum+1 to M-N+MyStep do if MyStep=n then memo.Lines.Add (str+','+inttostr(i)) else GetNFromM(M,N,i,MyStep,str+','+inttostr(i),form1.memo1); end;
function CountNFromM(M,N,ParentNum,MyStep:integer):Boolean; var i:integer; begin MyStep:=MyStep+1; for i:=ParentNum+1 to M-N+MyStep do if MyStep=n then form1.Counter:=form1.Counter+1 else CountNFromM(M,N,i,MyStep); end;