{ File: combi.pas }

program Combinazioni;
{ Calcola il numero delle conbinazioni di n oggetti presi r ad r,
  usando una funzione che calcola il fattoriale.
  La formula per il calcolo delle r-combinazioni di n oggetti e' n!/(r!(n-r)!).
}
    
var
  n,                 { numero di oggetti }
  r,                 { numero di oggetti per ogni gruppo }
  comb : integer;    { numero di combinazioni }

  function Fattoriale (x: integer): integer;
  var
    f, i : integer;
  begin
    f := 1;
    if x > 0 then
      for i := 1 to x do f := f*i;
    fattoriale := f
  end; { Fattoriale }

begin { Combinazioni }
  writeln('Numero di oggetti?');
  readln(n);
  writeln('Numero di oggetti in ogni gruppo?');
  readln(r);
  comb := Fattoriale(n) div (Fattoriale(r) * Fattoriale(n-r));
  writeln('Le combinazioni di ', n, ' oggetti presi ', r, ' a ', r,
          ' sono pari a ', comb)
end. { Combinazioni }