Viết chương trình tìm số nguyên dương a nhỏ nhất sao cho aa chia hết cho N (2 <= N <= 109) theo các yêu cầu sau:
Input
(dữ liệu nhập) cho trong tập tin BAI03.INP
là số nguyên N (2 <= N <= 109).
Output
(dữ liệu xuất) ghi vào tập tin BAI03.OUT
là số nguyên dương a nhỏ nhất sao
cho aa chia hết cho N.
Chương trình ví dụ:
Lần
thử |
BAI03.INP |
BAI03.OUT |
1 |
9 |
3 |
2 |
6 |
6 |
CODE THAM KHẢO:
var n: longint;
procedure XuLy(n: longint);
var a,m: longint;
begin
a:=2; m:=1;
while (a<=trunc(sqrt(n))) do
begin
if (n mod a = 0) then
begin
while (n mod a = 0 ) do n:=n div a;
m:=m*a;
end;
a:=a+1;
end;
writeln(m*n);
end;
begin
assign(input,'BAI03.INP'); reset(input);
assign(output,'BAI03.OUT'); rewrite(output);
while not(eof(input)) do
begin
readln(n);
XuLy(n);
end;
close(input); close(output);
end.
Đăng nhận xét