cái này mới là đáp án đúng nè bạn:
uses crt;
var M,N,i,uoc,so:word;
function kt(i:word):boolean;
var dem,j:byte;
begin
dem:=0;
for j:=1 to i do
if i mod j=0 then dem:=dem+1;
kt:=dem=2;
end;
begin
clrscr;
write('nhap N:');readln(N);
write('nhap M:');readln(M);
uoc:=0;
if N>=M then so:=N else so:=M;
for i:=1 to so do
if (N mod i =0) and (M mod i =0) and (kt(i)=true) then uoc:=uoc+1;
if uoc<>0 then write(M,' va ',N,' la 2 so nguyen to tuong duong')
else write(M,' va ',N,' khong phai la 2 so nguyen to tuong duong');
readln;
end.
program bt;
uses crt;
var a,b:longint;
function ktsnt(h:longint):boolean;
var dem,i:byte;
begin
dem:=0;
for i:=1 to h do
if h mod i =0 then dem:=dem+1;
ktsnt:=dem=2;
end;
function ucln(a,b:longint):longint;
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
ucln:=a;
end;
begin
clrscr;
write('nhap so a:');readln(a);
write('nhap so b:');readln(b);
if (ktsnt(a)=true) and (ktsnt(b)=true) then
begin
if ucln(a,b)= 1 then write(a,' va ',b,' la hai so nguyen to tuong duong')
else write(a,' va ',b,' la hai so nguyen to nhung k tuong duong');
end
else if (ktsnt(a)=true) and (ktsnt(b)=false) then
write(a,' la so nguyen to nhung ',b,' k phai so nguyen to')
else if (ktsnt(a)= false) and (ktsnt(b)=true) then
write(b,' la so nguyen to nhung ',a,' k phai so nguyen to')
else write(a,' va ',b,' khong phai la so nguyen to');
readln;
end.
hình như mk đọc lộn nên bài này k đúng nhe bạn, sorry