Const n=20; var a:array[1..n] of integer; k1,k2,s,i:integer; p:real; begin Randomize; for i:=1 to n do begin a[i]:=random(26)-5; write(a[i],' '); end; writeln; k1:=0; k2:=0; p:=1; for i:=1 to n do begin if a[i]>0 then begin s:=s+a[i]; k1:=k1+1; end else if a[i]<0 then k2:=k2+1; if a[i] mod 2 = 0 then p:=p*a[i]; end; writeln('Среднее арифметическое положительных элементов = ',s/k1); writeln('Количество отрицательных чисел = ',k2,' количество нулей = ',n-k1-k2); writeln('Произведение чётных элементов = ',p); end.
Пример: 10 1 11 -5 -4 10 -4 -2 2 2 17 3 12 -3 15 -5 12 -3 4 -4 Среднее арифметическое положительных элементов = 8.25 Количество отрицательных чисел = 8 количество нулей = 0 Произведение чётных элементов = 29491200
Деление до конца без штрафов возможно, если количество орехов в кучке будет какой-либо степенью двойки (2, 4, 8, 16, 32, 64, 128, 256, 512). Число 1057 - нечетно, следовательно, его можно представить <четное>+<нечетное>. При делении 1056+1 получим первый штраф. Число 1056 не является степенью двойки, поэтому необходимо опять поделить орехи на неравные кучки: 1024+32 (второй штраф). 1024 и 32 - степени двойки, значит дальнейшее разделение можно выполнить без штрафов. Можно делить, например, так: 1. 1024 и 33 ореха (штраф 1 рубль) 2. 33 делим на 2 кучки: 32 и 1 (штраф 1 рубль) 3 и все следующие операции: кучки из 1024 и 32 орехов делим на равные кучки (1024: 512 и 512, 512: 256 и 256, 256: 128 и 128, 128: 64 и 64, 64: 32 и 32, 32: 16 и 16 и т.д.). Получаем, что минимальная сумма штрафа = 2 рубля.
var a:array[1..n] of integer;
k1,k2,s,i:integer;
p:real;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(26)-5;
write(a[i],' ');
end;
writeln;
k1:=0; k2:=0; p:=1;
for i:=1 to n do begin
if a[i]>0
then begin s:=s+a[i]; k1:=k1+1; end
else if a[i]<0 then k2:=k2+1;
if a[i] mod 2 = 0 then p:=p*a[i];
end;
writeln('Среднее арифметическое положительных элементов = ',s/k1);
writeln('Количество отрицательных чисел = ',k2,' количество нулей = ',n-k1-k2);
writeln('Произведение чётных элементов = ',p);
end.
Пример:
10 1 11 -5 -4 10 -4 -2 2 2 17 3 12 -3 15 -5 12 -3 4 -4
Среднее арифметическое положительных элементов = 8.25
Количество отрицательных чисел = 8 количество нулей = 0
Произведение чётных элементов = 29491200
Можно делить, например, так:
1. 1024 и 33 ореха (штраф 1 рубль)
2. 33 делим на 2 кучки: 32 и 1 (штраф 1 рубль)
3 и все следующие операции: кучки из 1024 и 32 орехов делим на равные кучки (1024: 512 и 512, 512: 256 и 256, 256: 128 и 128, 128: 64 и 64, 64: 32 и 32, 32: 16 и 16 и т.д.).
Получаем, что минимальная сумма штрафа = 2 рубля.