Дано 100 чисел. найти: 1) сумму положительных чисел 2) кол-во отрицательных чётных чисел 3) произведение чисел больше 10 4) среднее арифметическое положительных чётных чисел
В двоичной системе: 1243(10)=2^10+2^7+2^6+2^4+2^3+2^1+1 = 1024+128+64+16+8+2+1 = 1243(10) =10011011011(2) В восьмиричной системе: разбиваете двоичное представление на группы по 3 бита справа налево 011 = 3 011 = 3 011 = 3 10 = 2 Тогда в восьмиричной системе: 2333(8) = 2*8^3+3*8^2+3*8^1+3 = 1024+192+24+3=1243(10) В шестнадцатиричной системе: разбиваете двоичное представление на группы по 4 бита справа налево 1011 = B = 11(10) 1101 = D(16) = 13(10) 100 = 4 Тогда в шестнадцатиричной системе 4DB(16) = 4*16^2+13*16^1+11 =1024+208+11=1243(10)
// PascalABC.Net 3.0, сборка 1088 const n=30; var a:array[1..n] of integer; i,k:integer; begin Randomize; Writeln('*** Исходный массив ***'); k:=0; for i:=1 to n do begin a[i]:=Random(1001); Write(a[i],' '); if (a[i] mod 3 = 0) and (a[i] mod 10 = 1) then Inc(k) end; Writeln; Writeln('Количество найденных элементов равно ',k) end.
var i,a,sp,ko2,sp2,kp2:integer;
p:biginteger;
begin
p:=1;
for i:= 1 to 100 do
begin
a:=random(199)-99;
write (a,' ');
if a > 0 then sp:=sp+a;
if (a < 0) and (a mod 2 = 0) then ko2:=ko2+1;
if a > 10 then p:=p*a;
if (a > 0) and (a mod 2 = 0) then
begin
sp2:=sp2+a;
kp2:=kp2+1
end
end;
writeln;
writeln ('Сумма положительных чисел равна ',sp);
writeln ('Кол-во отрицательных чётных чисел равно ',ko2);
writeln ('Произведение чисел больше 10 равно ',p);
writeln ('Среднее арифметическое положительных чётных чисел равнo ',sp2/kp2:0:3);
end.