Const n=10;
var a:array[1..n] of integer;
max,i:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=random(21)-10;
write(a[i],' ');
end;
writeln;
max:=a[1];
for i:=2 to n do
if a[i]>max then max:=a[i];
writeln('max = ',max);
for i:=1 to n do
if a[i]=max then write(i:3);
writeln;
end.
Пример:
Исходный массив:
-6 -9 10 -6 0 0 -8 10 -8 2
max = 10
3 8
1) Столбцы таблицы:
а -00001111
b -00110011
c -01010101
a+b -00111100 (знак + в кружочке)
(..)&с -00010100
2) =А(В+neB)+neA(B+neB)=
=A(1)+neA(1)= 1 -ответ
Очевидно, что в условии задачи есть опечатка (вместо 27 коинов должно быть значение не меньше 117). Только в этом случае задача имеет решение. Рассмотрим случай, когда в третий раз Вася попытался снять 117 коинов.
Очевидно, что # и & - это самые большие цифры, то есть мы должны из 2000 вычесть (98Ω+89Ω). Можно здесь действовать подбором, начиная с 0, а можно начать и 7 (в этом случае результат получим быстрее). Если Ω=7, то находим 2000-(987+897)=116.
Таким образом Ω=7