Cod sursa(job #183600)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 22 aprilie 2008 13:22:34
Problema Pascal Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.02 kb
var p,nr,min:array[0..10] of longint;
    f,g:text;
    i,j,x,numar,n,d:longint;
begin
 assign(f,'pascal.in'); reset(f);
 assign(g,'pascal.out'); rewrite(g);
 read(f,n,d);
 case d of
 2: begin
        p[0]:=1;
        p[1]:=2;
        min[1]:=1;
    end;
 3: begin
        p[0]:=1;
        p[1]:=3;
        min[1]:=1;
    end;
 4: begin
        p[0]:=1;
        p[1]:=2;
        min[1]:=2;
    end;
 5: begin
        p[0]:=1;
        p[1]:=5;
        min[1]:=1;
    end;
 6: begin
        p[0]:=2;
        p[1]:=2;
        p[2]:=3;
        min[1]:=1;
        min[2]:=1;
    end;
 end;
 nr[1]:=0; nr[2]:=0;
 for i:=1 to n do begin
  x:=n-i+1;
  for j:=1 to p[0] do
   while x mod p[j]=0 do begin
    x:=x div p[j];
    inc(nr[j]);
   end;
  x:=i;
  for j:=1 to p[0] do
   while x mod p[j]=0 do begin
    x:=x div p[j];
    dec(nr[j]);
   end;
  for j:=1 to p[0] do
   if nr[j]<min[j] then
    break;
  if nr[j]>=min[j] then
   inc(numar)
 end;
 writeln(g,numar);
 close(f); close(g);
end.