1 точка занимает 5 бит
(1600*1200)*5=1200000байт
36(10) В скобках указывается изначальная система. У нас десятичная.
Мы переводим в троичную.
Мы делим 36 и остаток выносим.
36:3 (0)= 12 : 3 (0) = 4 :3 (остаток 1) = 1:3 (остаток 1)
И запись переводим слева на право, т.е. 1100.
Можем себя проверить 3^3*1+3^2*1+0+0 = 36, действительно
С 278 проделываем тоже самое, только тут уже можно проделать другой трюк, зная что 256 это 2^8 = 10000000 и нам ещё нужно 26, а что такое 26?
Это 16, 8 , 2. Т.е. 10011010.
Ну, конечно, можно.
50 * 60 = 3000 байт
3000 * 120 = 360000 байт
360000 : 1024 = 351,5625 Кбайт
А на дискетке - в 4 раза больше места.
// PascalABC.NET 3.3
begin
var a := ArrRandomInteger(10); a.Sort;
var b := ArrRandomInteger(10); b.Sort;
var c := new integer[20];
writeln('Array 1:'); a.println;
writeln('Array 2:'); b.println;
var i := 0;
var j := 0;
var k := 0;
while (i < 10) and (j < 10) do
begin
if a[i] < b[j] then
begin
c[k] := a[i];
i := i + 1;
end else begin
c[k] := b[j];
j := j + 1;
end;
k := k + 1;
end;
while i < 10 do
begin
c[k] := a[i];
i := i + 1;
k := k + 1;
end;
while j < 10 do
begin
c[k] := b[j];
j := j + 1;
k := k + 1;
end;
writeln('Merged array:'); c.println;
end.
Const n = 30;
var a : array [1 .. n] of integer;
i, k1, k2 : integer;
begin
for i := 1 to n do read(a[i]);
k1:=0; k2:=0;
for i:=1 to n do
if (a[i]>0) then
begin
if k1>k2 then k2:=k1;
k1:=0;
end
else k1:=k1+1;
if k1>k2 then k2:=k1;
writeln('max = ',k2);
end.
Пример:
3 9 7 9 2 9 1 7 5 8 9 9 0 0 0 0 1 1 0 0 7 4 3 3 7 5 1 0 4 3
max = 4