Дана последовательность степеней 10: вводится номер позиции в последовательности k. определить в данной позиции стоит 0 или 1? например, k=4 в 4 позиции стоит 1. на паскале
1. При использовании палитры из 2^24 цветов для хранения цвета 1 пикселя используется 24 бита = 3 байта. Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт. X = 8*(K*3/1024 + 128)+2.5*1024 2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта. Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт. X = 20*(K*2/1024 + 128) 8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128) К = 65536 (количество пикселей в рисунке) X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт = 20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт.
X = 8*(K*3/1024 + 128)+2.5*1024
2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта.
Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт.
X = 20*(K*2/1024 + 128)
8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128)
К = 65536 (количество пикселей в рисунке)
X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт =
20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
алгоритм далек от совершенства, медленный, но считает правильно. Паскаль
Объяснение:
var
col: integer;
i, k: longint;
del: boolean;
function prost(a: longint): boolean;
var c: integer;
begin
prost := a >= 2;
for c := 2 to trunc(sqrt(a)) do if a mod c = 0 then prost := false;
end;
begin
i := 2;
col := 1;
repeat
del := (i mod 2 = 0) or (i mod 3 = 0) or (i mod 5 = 0);
for k := 6 to i div 2 do if (prost(k) = true) and (i mod k = 0) then del := false;
if del then
begin
Write(i, ', ');
inc(col);
end;
inc(i);
until col > 1000;
end.