Cod sursa(job #458466)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 24 mai 2010 22:39:12
Problema Pascal Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.27 kb
program p1;
var f,g:text;
    a,e,b,c:array[1..5] of longint;
    i,r,n,d,j,nr,ok:longint;

function multipli(w,p:longint):longint;
var s,k:longint;
begin
     k:=p;s:=0;
     while w div k>0 do
     begin
          s:=s+w div k;
          k:=k*p;
     end;
     multipli:=s;
end;
begin
     assign(f,'pascal.in');reset(f);
     assign(g,'pascal.out');rewrite(g);
     read(f,r,d);
     n:=0;
     if d mod 2=0 then
     begin
        a[1]:=2;
        while d mod 2=0 do
        begin
             e[1]:=e[1]+1;
             d:=d div 2;
        end;
        n:=1;
     end;
     j:=3;
     while j<=5 do
     begin
     if d mod j=0 then
     begin
        n:=n+1;
        a[n]:=j;
        while d mod j=0 do
        begin
             e[n]:=e[n]+1;
             d:=d div j;
        end;
     end;
        j:=j+2;
     end;
     for i:=1 to n do
     b[i]:=multipli(r,a[i]);
      nr:=0;
     for i:=1 to r do
     begin
         ok:=1;
         for j:=1 to n do
         begin
             c[j]:=multipli(i,a[j]);
             c[j]:=c[j]+multipli(r-i,a[j]);
             if b[j]-c[j]<e[j] then begin ok:=0; break;end;
         end;
         nr:=nr+ok;
     end;
     writeln(g,nr);
     close(f);
     close(g);
end.