Mình đã hiểu 2 số nguyên tố tương đương có nghĩa là chugn co chung tất cả các ước số nguyên tố
VD; 6 và 15 ko nguyên tố tương đương vì 6=2.3
15=3.5
chỉ có chung 1 ước là 3
VD: 15 vả 75 là ngưyên tố tương đương vì 15=3.5
75=3.5.5
có chung ước nguyên tố là 3 và 5
Đây là code chương trình để các bạn tham khảo nhé! Mong các bạn hãy tìm các cách giải khác và post lên nhé. Mình đang nghĩ cách dùng mảng và đùng mảng trung gian để lưu trữ thừa số nguyên tố của 2 số.
Code:
program nttd;
Var m,n,d,i:integer;
function USCLN(m,n:integer):integer;
Var r:integer;
Begin
While n<>0 do
Begin
r:=m mod n; m:=n; n:=r;
End;
USCLN:=m;
end;
Begin
write(' Nhap M,N:'); Readln(M,N);
d:=USCLN(M,N); i:=2;
while d<>1 do
Begin
if d mod i =0 then
Begin
While d mod i =0 do d:=d div i;
While M mod i =0 do M:= M div i;
While N mod i =0 do N:=N div i;
End;
inc(i);
End;
if M*N=1 then write('M va N la nguyen to tuong duong')
else write('M va N khong nguyen to tuong duong');
Readln
End.
Bookmarks