program nt;
uses crt;
var n,i:word;
function ktsnt(n:word):boolean;
var j,dem:byte;
kt:boolean;
begin
dem:=0;
for j:=1 to n do
if n mod j=0 then dem:=dem+1;
if dem=2 then kt:=true else kt:=false;
ktsnt:=kt;
end;
begin
clrscr;
write('nhap N:');readln(n);
i:=n-1;
while ktsnt(i)=false do dec(i);
write('so nguyen to lon nhat be hon N la:',i);
readln;
end.
chúc bạn học tốt!!
var n,j:integer;
function ktsnt(a:integer):boolean;
var i,d:integer;
begin
d:=0;
if i=1 then d:=1;
for i:=2 to a div 2 do
if a mod i=0 then d:=d+1;
if d=0 then ktsnt:=true
else ktsnt:=false;
end;
begin
write('n=');readln(n);
j:=n;
repeat
j:=j-1;
until ktsnt(j);
write(j);
readln;
end.