Ошибка. Неправильная ссылка на ячейку.
PascalABC.NET
-----------------------------
var
a: array[1..10000] of integer;
kz,maxp,n,i,j: integer;
begin
i:=0;
maxp:=integer.MinValue;
writeln ('Готов к приему чисел');
repeat
i:=i+1;
readln (a[i]);
until a[i]=0;
n:=i-1;
readln (kz);
for i:=1 to n-1 do
for j:=2 to n do
if maxp<(a[i]*a[j]) then maxp:=(a[i]*a[j]);
writeln ('Получено ',n,' чисел');
writeln;
writeln ('Полученное контрольное значение: ',kz);
writeln;
writeln ('Вычисленное контрольное значение: ',maxp);
writeln;
if kz=maxp
then writeln ('Контроль пройден')
else writeln ('Контроль не пройден');
end.
--------------------------------------
Результаты:
1)
Готов к приему чисел
1 2 3 4 5 0 20
Получено 5 чисел
Полученное контрольное значение: 20
Вычисленное контрольное значение: 20
Контроль пройден
2)
Готов к приему чисел
1 2 3 4 5 6 0 20
Получено 6 чисел
Полученное контрольное значение: 20
Вычисленное контрольное значение: 30
Контроль не пройден
1101101
Число единиц : 5
Решение :
109:2 = 109-108 (берём по 54 ) = 1
54:2 = 54-54 (берём по 27 ) = 0
27 : 2 = 27-26(берём по 13) = 1
13:2 = 13-12(берём по 6)=1
6:2=6-6(берём по 3 ) = 0
3:2= 3-2(берём по 1) = 1
И в конце остаётся только единица , которая на два не делится , значит =1
Вводим ответ в обратном порядке = 1101101