program Bai1_DaySo;
var
n, i, sum, count, min, max: integer;
arr: array of integer;
mean: real;
function IsSquareNumber(x: integer): boolean;
begin
IsSquareNumber := (sqrt(x) = trunc(sqrt(x)));
end;
begin
write('Nhap vao so luong phan tu cua day: ');
readln(n);
// Khởi tạo mảng
SetLength(arr, n);
// Nhập dãy số từ bàn phím
writeln('Nhap vao day so:');
for i := 0 to n - 1 do
read(arr[i]);
// Tính tổng của dãy số và tìm số nhỏ nhất, lớn nhất
sum := 0;
min := arr[0];
max := arr[0];
for i := 0 to n - 1 do
begin
sum := sum + arr[i];
if arr[i] < min then
min := arr[i];
if arr[i] > max then
max := arr[i];
end;
// Tính trung bình cộng của dãy số
mean := sum / n;
// In ra các số chính phương của dãy và số lượng của chúng
writeln('Cac so chinh phuong trong day:');
count := 0;
for i := 0 to n - 1 do
begin
if IsSquareNumber(arr[i]) then
begin
write(arr[i], '; ');
count := count + 1;
end;
end;
writeln;
writeln('Co ', count, ' so chinh phuong');
// In ra các số của dãy có giá trị lớn hơn trung bình cộng của dãy
writeln('Cac so lon hon trung binh cong cua day:');
for i := 0 to n - 1 do
begin
if arr[i] > mean then
write(arr[i], '; ');
end;
writeln;
// In ra các số nguyên không thuộc dãy
writeln('Cac so khong thuoc day:');
for i := min + 1 to max - 1 do
begin
if (i < min) or (i > max) then
write(i, '; ');
end;
end.