Uses crt;
const
n:integer = 10;
var b: array[1..n] of byte;
a:integer;
d:byte;
begin
for d:=1 to 10 do b[d]:= random(10)+1;d:=1;
a:=1;
while (d < n) do begin a:=a*b[d]; d:=d+2;
end;
writeln(a);
<span>end.</span>
Var a:array[1..15] of integer;
i,b: integer;
begin
b:=1;
for i:=1 to 15 do readln(a[i]);
for i:=1 to 15 do if a[i] mod 2 =0 then b:=b*a[i];
writeln(b);
end.
64=2^6=6бит~1байт
1байт=8бит
Наименьшее число - 8094
Из алгоритма видно, что сначала сравнивают, четно или нет число d. Если четно, то берут остаток от деления числа на 10, т.е крайнюю правую цифру числа и суммируют ее с a, если не четно, то суммируют c b. Затем прибавляют 1 к d, и получают целую часть от деления x на 10. Т.к изначально d = 0, то можно сделать вывод о том, что в переменной a хранится сумма всех цифр x, которые стоят на нечетных местах, а в переменной b - сумма цифр, стоящих на четных местах(Считая справа, т.к алгоритм работает справа налево). 17 можно получить, если сложить 9 и 8. Таким образом, мы выставляем 9 и 8 на четные позиции, а 4 ставит крайней справа, и тогда между 8 и 9 окажется 0. Так мы получим число 8094