Cod sursa(job #239448)

Utilizator FllorynMitu Florin Danut Flloryn Data 4 ianuarie 2009 19:49:41
Problema Divizori Primi Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.85 kb
program pascal;
var f,g:text; n,i,j,k,t,l:longint;
    v:array[1..1000000] of integer;
    x:array[1..1000000] of 0..1;
    a:array[0..7,1..1000000] of longint;

procedure form;
begin
 n:=1000000;
   for i:=2 to (n div 2) do
   if v[i]=0 then
   begin
    for j:=2 to (n div i) do
             if i*j<1000000 then
               begin
               v[i*j]:=1;
               inc(x[i*j]);
               end else break;
   end;

  a[0,1]:=0;
end;

begin
assign(f,'divprim.in'); reset(f);
assign(g,'divprim.out'); rewrite(g);
form;
for i:=2 to n do
  begin
  if x[i]=0 then
           begin
             x[i]:=1;
             a[1,i]:=i;
           end;
  for j:=1 to 7 do a[j,i]:=a[j,i-1];
  a[x[i],i]:=i;
  end;

readln(f,t);
for i:=1 to t do
 begin
   read(f,l,k);
   writeln(g,a[k,l]);
 end;

close(f);
close(g);
end.