Viết chương trình nhập mảng A gồm n số nguyên nhập từ bàn phím. a)Kiểm tra xem trong các phần tử, phần tử nào là số nguyên tố. b)Kiểm tra xem trong các phần tử, phần tử nào là số chính phương. P/s: nhớ làm 2 câu a,b tách rời. Em đang cần rất rất gấp tl hộ e e vote 5 sao ạ.
2 câu trả lời
Bài a:
uses crt;
var a:array[1..1000000] of longint;
n,i,j:longint;
function ktnt(x:longint):boolean;
var i:longint;
begin
ktnt:=false;
for i:=2 to x div 2 do
if x mod i=0 then exit;
if x<2 then exit;
ktnt:=true;
end;
begin
clrscr;
write('Nhap do dai cua mang: ');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
write('Cac so nguyen to co trong mang: ');
for i:=1 to n do
if ktnt(a[i])=true then write(a[i],' ');
readln;
end.
Bài b:
uses crt;
var a:array[1..1000000] of longint;
n,i,j:longint;
function ktcp(x:longint):boolean;
begin
if sqr(trunc(sqrt(x)))=x then exit(true)
else exit(false);
end;
begin
clrscr;
write('Nhap do dai cua mang: ');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
write('Cac so chinh phuong co trong mang: ');
for i:=1 to n do
if ktcp(a[i])=true then write(a[i],' ');
readln;
end.
uses crt;
var a : array[1..100] of integer;
i,n : integer;
function snt(x : integer) : boolean;
var i,d : integer;
begin d:=0;
for i:=1 to x do if x mod i = 0 then d:=d+1;
if d=2 then snt:=true else snt:=false; end;
function scp(x : integer) : boolean;
var n : integer;
begin n:=trunc(sqrt(x));
if sqr(n)=x then scp:=true else scp:=false; end;
begin clrscr;
write('Nhap so phan tu :'); readln(n);
for i:=1 to n do begin
write('Nhap a[',i,']='); readln(a[i]);
end;
writeln('Cac phan tu la so nguyen to trong mang :');
for i:=1 to n do if snt(a[i])=true then write(a[i]:3);
writeln;
writeln('Cac phan tu la so chinh phuong trong mang :');
for i:=1 to n do if scp(a[i])=true then write(a[i]:3);
readln
end.