Const N = 50;
var a: array[1..N] of integer;
sum, i: integer;
begin
sum := 0;
a[ 1 ] := 1;
for i := 2 to N do begin
a[ i ] := a[ i - 1 ] + 4;
sum := a[ i ] + sum;
end;
for i := 1 to N do
writeln('A[ ', i, ' ]: ', a[ i ]);
writeln;
writeln('Сумма элементов массива: ', sum);
writeln('Значения 10, 20, 30, 40 элементов, стоящих в нечетных позициях: ' );
writeln('A[ 13 ] = ', A[13],', A[ 25 ] = ', A[25], ', A[ 37 ] = ', A[37], ', A[ 49 ] = ', A[49]);
<span>end.</span>
Const nmax = 5;
var a:array [1..nmax] of integer;
i,k:integer;
begin
k:=0;
randomize;
for i:=1 to nmax do
begin
a[i]:=random(11)+10;
write (a[i],' ');
if a[i] mod 5 = 0 then inc(k);
end;
writeln;
writeln ('Kol-vo: ',k);
end.
<h2>№1</h2>
Факториал нуля равен единице. Если N по условию может быть отрицательным, сразу после ввода следует это проверить.
Будем хранить ответ в переменной <em>fc </em>с начальным значением 1. Будем перебирать все числа от <em>2 </em>до <em>N </em>и домножать <em>fc </em>на каждое из них.
<h3>Код</h3>
var
n, i, fc: longint;
begin
read(n);
fc := 1;
for i := 2 to n do
fc := fc * i;
writeln(fc);
end.
<h2>№2</h2>
Используем цикл for, но вместо to будем писать downto.
<h3>Код</h3>
var
i: integer;
begin
for i := 28 downto 17 do
writeln(i);
end.
В формате "целое без знака" с помощью n двоичных разрядов можно записать числа от 0 до 2^n - 1 (это соответствует записям от 000...0 до 111...1, где в каждом числе по n разрядов).
При n = 11 максимальное число равно 111...1_2 (11 разрядов) = 2^11 - 1 = 2048 - 1 = 2047