Tìm các ước số nguyên tố của một số nguyên dương N cho trước. Dữ liêu vào: Từ file văn bản UOCNT.INP chứa một số nguyên dương. Kết quả: Ghi ra file văn bản UOCNT.OUT các ước số nguyên tố của số N đó, mỗi số cách nhau ít nhất một dấu cách.
Tìm các ước số nguyên tố của một số nguyên dương N cho trước. Dữ liêu vào: Từ file văn bản UOCNT.INP chứa một số nguyên dương. Kết quả: Ghi ra file văn bản UOCNT.OUT các ước số nguyên tố của số N đó, mỗi số cách nhau ít nhất một dấu cách.
uses crt;
var A: array [1..1000] of longint;
i, N,dem: longint;
f: text;
// hàm kiemtra có tác dụng check có phải là số nguyên tố hay không
function kiemtra(n: longint): boolean;
var i: longint;
begin
if (n <= 1) then kiemtra:= false
else if (n < 4) then kiemtra:= true
else
begin
kiemtra:= true; i:= 2;
while (i <= sqrt(n)) do
begin
if (n mod i = 0) then
begin
kiemtra:= false;
break;
end;
i := i + 1;
end;
end;
end;
procedure input();
begin
assign(f,’UOCNT.INP’); reset(f);
read(f,N); close(f);
end;
procedure output();
begin
assign(f,’UOCNT.OUT’); rewrite(f);
for i:= 1 to dem do
write(f,A[i],’ ‘);
close(f);
end;
begin
input(); dem := 0;
// ngoài cách duyệt từng phần tử còn có thể dùng sàng nguyên tố (có thể tự tìm trên Google)
for i:= 2 to N do
if ((N mod i = 0) and kiemtra(i)) then
begin
dem:= dem + 1;
A[dem] := i;
end;
output();
end.
uses crt;
var f,f1:text;
n,i:longint;
scan:boolean;
begin
clrscr;
assign(f,’UOCNT.INP’); reset(f);
assign(f1,’UOCNT.OUT’); rewrite(f1);
readln(f,n);
scan:=false;
if n<2 then scan:=false;
for i:=2 to trunc(sqrt(n)) do if n mod i=0 then scan:=false;
scan:=true;
if n=0 then write(‘Co vo so uoc nguyen to’)
else
i:=2;
for i:=2 to n-1 do
begin
if n mod i=0 then write(f1,i,’ ‘);
end;
close(f);
close(f1);
readln;
end.