Cod sursa(job #137857)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 17 februarie 2008 15:35:06
Problema Factoriale Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.08 kb
Program p1;
const p:array[1..25]of longint=(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97);
Var n,k,i,aa,la,j,t,jj,pp,tt:longint;
    a:array[1..10000] of longint;
    h:array[1..30] of longint;
    f,ff:text;
Begin
  assign(f,'factoriale.in');
  reset(f);
  assign(ff,'factoriale.out');
  rewrite(ff);
  readln(f,n,k);
  for i:=1 to n do
     begin
      read(f,aa);
      for j:=1 to 25 do
         begin
          pp:=p[j];
          while(aa div pp>0) do
               begin
                h[j]:=h[j]+(aa div pp);
                pp:=pp*p[j];
               end;
         end;
     end;
  a[1]:=1;
  la:=1;
  for i:=1 to 25 do
     if h[i] mod k>0 then
     for jj:=1 to (h[i] div k)*k+k-h[i] do
     begin
      t:=0;
      for j:=1 to la do
         begin
          tt:=t;
          t:=(a[j]*p[i]+tt) div 10;
          a[j]:=(a[j]*p[i]+tt) mod 10;
         end;
      while(t>0)do begin inc(la); a[la]:=t mod 10; t:=t div 10;end;
     end;
  for i:=la downto 1 do
     Write(ff,a[i]);
  Writeln(ff);
  close(f);
  close(ff);
End.