B1: File scp.inp dòng 1 chứa số n từ dòng 2 chứa n số cách nhau bởi khoảng cách hoặc xuống hàng. Viết chương trình xuất ra file scp.out các số chính phương và số lượng. B2: File sosnt.inp chứa các số cách nhau bởi khoảng cách hoặc xuống hàng. Viết chương trình xuất ra các số nguyên tố và số lượng.

1 câu trả lời

Bài 1:

var a:array[1..10000000] of longint;
i,n,j,d:longint;
function cp(x:longint):boolean;
begin
cp:=true;
if sqrt(x)=trunc(sqrt(x)) then cp:=true else cp:=false;
end;
begin
read(n);
for i:=1 to n do read(a[i]);
for i:=1 to n do
if cp(a[i]) then
begin
d:=d+1;
write(a[i],' ');
end;
write('so luong:',d);
end.

Bài 2:

var a:array[1..10000000] of longint;
i,n,j,d:longint;
function nt(x:longint):boolean;
begin
nt:=true;
if x<2 then nt:=false;
if x=2 then nt:=true;
if x>2 then
for j:=2 to trunc(sqrt(x)) do
if x mod j=0 then nt:=false;
end;
begin
read(n);
for i:=1 to n do read(a[i]);
for i:=1 to n do
if nt(a[i]) then
begin
d:=d+1;
write(a[i],' ');
end;
write('so luong:',d);
end.