Pagini recente » Cod sursa (job #174439) | Cod sursa (job #870037) | Cod sursa (job #138692) | Cod sursa (job #174431) | Cod sursa (job #364908)
Cod sursa(job #364908)
type vector=array[1..7] of longint;
function prim(a:integer):boolean;
var i:integer;
ok:boolean;
begin
i:=2;
ok:=true;
while (ok)and(i<=trunc(sqrt(a))) do begin
if a mod i=0 then ok:=false
else inc(i);
end;
prim:=ok;
end;
function zii(a,k:longint):integer;
var d,i:integer;
begin
i:=0;
if a mod 2=0 then inc(i);
d:=3;
while (d<=a div 2)and(i<=k) do
begin
if a mod d=0 then begin if prim(d) then begin inc(i); inc(d,2);
end
else inc(d,2);
end
else inc(d,2);
end;
zii:=i
end;
var k,n,t:longint;
i,j:longint;
v:vector;
ok:boolean;
begin
v[1]:=1;v[2]:=6;v[3]:=30;v[4]:=210;v[5]:=2310;v[6]:=30030;v[7]:=510510;
assign(input,'divprim.in');reset(input);
assign(output,'divprim.out');rewrite(output);
readln(t);
for j:=1 to t do begin
readln(n,k);
ok:=false;
if n>=v[k] then
while not ok do
if zii(n,k)=k then ok:=true else dec(n);
if n>=v[k] then writeln(n)
else writeln(0);
end;
close(input);close(output);
end.