100100=1*2^5+0+0+1*2^2+0+0=36
192 Кбайт=196608 байт
256 бит=32 байт
1)196608/32=6144 секунды
2)6144*96=589824 бит/8=73728 байт/1024=72 Кбайта
Неопределённость информации уменьшается в 3*3=9 раз, и такое кол-во информации кодируется минимум 4 битами.
Вроде получилось:
var a,b,s:integer;
begin
write('Числа = ');
for a:=1 to 100 do
begin
b:=a mod 3;
if (b = 0) then
begin
write(a,', ');
s:=s+a;
if((s > 500) and (s<520)) then break;
end;
end;
writeln('Сумма чисел = ', s);
end.
Результат:
<em>// PascalABC.NET 3.2, сборка 1425 от 22.04.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
function KS(a:array[,] of integer):(integer,integer);
begin
(var k,var s):=(0,0);
for var i:=0 to a.RowCount-1 do
for var j:=i to a.ColCount-1 do
if a[i,j]<0 then (k,s):=(k+1,s+a[i,j]);
Result:=(k,s)
end;
begin
var a:=MatrRandom(5,5,-50,50); a.Println(4);
var r:=KS(a); Writeln('k=',r[0],', Sum=',r[1]);
var b:=MatrRandom(8,8,-80,45); b.Println(4);
r:=KS(b); Writeln('k=',r[0],', Sum=',r[1]);
end.
<u>Пример</u>
-9 -41 -6 -49 36
6 -7 -2 -1 28
22 -29 -20 -12 7
-11 -37 14 34 -41
-23 11 -9 -26 -46
k=11, Sum=-234
9 34 -68 -32 -43 -61 -19 -55
-66 3 -79 41 -47 27 -7 31
-71 -7 -26 28 -58 -2 -61 -77
-66 39 -39 -76 -13 2 21 6
-56 42 -61 1 -39 -69 -57 -2
-51 -79 -57 10 -10 -27 29 19
-48 -55 -56 -76 43 -32 29 -70
15 -71 -46 -37 23 -24 3 -22
k=23, Sum=-1010