Var n,m,i,k:integer; begin Write('n='); Read(n); Write('Вводите числа через пробел или Enter: '); k:=0; for i:=1 to n do begin Read(m); if m mod 2=1 then if Frac(sqrt(m))=0 then Inc(k) end; Writeln('Найдено квадратов нечетных чисел: ',k) end.
Пример n=10 Вводите числа через пробел или Enter: 16 49 1 5 9 121 66 71 0 -1 Найдено квадратов нечетных чисел: 4
в кинозале всего 16×32=512 мест. Сообщение о купленном билете однозначно определяет выбор одного из этих мест. Из уравнения 2 i = 512=29получаем: i=9 бит. Но эту же задачу можно решать иначе. Сообщение о номере ряда несет 4 бита информации, т.к. 24=16. Сообщение о номере места несет 5 бит информации, т.к. 25=32. В целом сообщение про ряд и место несет: 4+5=9 бит информации. Данный пример иллюстрирует выполнение закона активности информации (правило сложения): количество информации в сообщении одновременно о нескольких результатах независимых друг от друга событий равно сумме количеств информации о каждом событии отдельно.
var c, a: array[1..20] of integer; i: integer; begin write('Первый массив '); for i := 1 to 20 do begin c[i] := i * (-5); write(c[i], ' '); end; writeln; write('Преобразованный массив '); for i := 1 to 20 do begin a[i] := c[20 - i + 1]; write(a[i], ' '); end; end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var c: array[1..20] of integer; i: integer; begin write('Первый массив '); for i := 1 to 20 do begin c[i] := i * (-5); write(c[i], ' '); end; writeln; write('Преобразованный массив '); for i := 20 downto 1 do write(c[i], ' '); end.
n,m,i,k:integer;
begin
Write('n='); Read(n);
Write('Вводите числа через пробел или Enter: ');
k:=0;
for i:=1 to n do begin
Read(m);
if m mod 2=1 then
if Frac(sqrt(m))=0 then Inc(k)
end;
Writeln('Найдено квадратов нечетных чисел: ',k)
end.
Пример
n=10
Вводите числа через пробел или Enter: 16 49 1 5 9 121 66 71 0 -1
Найдено квадратов нечетных чисел: 4