PDA

View Full Version : nguyên tố tương đương



okmen910
17-02-2008, 10:12
hai số được gọi là cùng nguyên tố tương đương là hai số có cùng ước số nguyên tố với nhau. Yêu cầu nhập một số N, tìm số nhỏ nhất và cùng nguyên tố tương đương vói N
đây là bài giải của em nhưng em thấy nó dài dòng quá, nếu ai có cách khác thì giúp em

uses crt;
var n,i:integer;
{-----------------}
{------------------}
function ngto(n:integer):boolean;
var i:integer;
begin
i:=2;
while (n mod i<>0) and (n>i) do inc(i);
if n=i then ngto:=true
else ngto:=false;
end;
procedure chuongtrinh(var i,n:integer);
var so,k,dem:integer;
begin
i:=4;
dem:=0;
if (n<4) or (ngto(n)) then exit;
while i<>n do
begin
so:=n;
repeat
k:=2;
while (so mod k<>0) and (so>k) do inc(k);
if (i mod k=0) and (so>k) then inc(dem);
so:=so div k;
until (so=0) or (so=1);
if i=n-1 then i:=n;
if dem=0 then inc(i)
else exit;
end;
end;
{-----------------}
begin
clrscr;
write('Nhap n:');readln(n);
chuongtrinh(i,n);
if (n>3) and (not(ngto(n))) then
writeln(i,' la so nho nhat va cung nguyen to tuong duong voi ',n)
else writeln('khong co so nao cung nguyen to tuong duong voi ',n);
readln;
end.
<<cảm ơn các anh chị nhiều>>

m2mpro
17-02-2008, 11:25
Cùng ước số nguyên tố với nhau là sao ?

mr_invincible
17-02-2008, 11:28
To m2mpro: tức là có tập các ước số nguyên tố giống nhau

okmen910
19-02-2008, 17:23
Cùng ước số nguyên tố với nhau là sao ?

ví dụ:
6=2*2*3 (2 và 3 là ước số nguyên tố của 6)
8=2*2*2 (2 là là ước số nguyên tố của 8)
==>8 và 6 cùng ước số nguyên tố 2==> 6 và 8 cùng nguyên tố tương đương

m2mpro
19-02-2008, 17:32
Cách bạn làm đúng rồi mà.