// pascalabc.net 3.0, сборка 1150 от 22.01.2016 begin var n: =readinteger('n='); var s: =0; var k: =0; var m: integer; for var i: =1 to n do begin read(m); if odd(m) and (m mod 3 = 0) then begin s+=m; inc(k) end end; if k> 0 then writeln(s/k) else writeln('нет чисел, удовлетворяющих условию') end. тестовое решение: n= 10 6 3 12 15 -9 11 0 14 42 11 3
myhauz
18.05.2023
Срешением записываем степени двойки сверху(т.к. система у нас двоичная), начиная с нулевой степени, а под ними записываем число в двоичной системе 2^3 2^2 2^1 2^0 1 0 1 0 теперь вот по разрядикам умножаем верхнее число на нижнее, и так каждую сумму прибавляем друг к дружке, смотри перевод начинается с разряда единиц, с начала числа 2^3*1=8 2^1*1=2 а там где нолики, там будет 0, прибавлять его нет смысла : ) 8+2=10 это число в десятичной системе, содержит одну единичку : )