var i,j,n:longint; f:boolean; begin writeln('Введите число'); readln(n); if n<2 then writeln('Простых делителей нет') else begin write('Число ',n,' ','= 1'); for i:=2 to n do if n mod i=0 then begin f:=true; j:=2; while f and(j<=round(sqrt(i/2)))do begin if i mod j=0 then f:=false else j:=j+1; end; if f then write('*',i); end; end; end.
1) При использовании 16384 цветов для хранения одной точки требуется log(2)16384 = 14 бит. Количество точек рисунка = 9696*8 / 14 ≈ 5540
2) При использовании палитры из 65536 цветов для хранения одной точки требуется log(2)65536 = 16 бит = 2 байта. Объем видеопамяти = 1024*768*2 байт = 1024*768*2/1024 Кбайт = 1536 Кбайт = 1536/1024 Мбайт = 1,5 Мбайт
3) При использовании палитры из 16 цветов для хранения одной точки требуется log(2)16 = 4 бита. Необходимый объем видеопамяти = 640*480*4 бит = 640*480*4/8 байт = 320*480 байт = 320*480/1024 Кбайт = 150 Кбайт. ответ: 256 достаточно для работы
var i,j,n:longint;
f:boolean;
begin
writeln('Введите число');
readln(n);
if n<2 then writeln('Простых делителей нет')
else
begin
write('Число ',n,' ','= 1');
for i:=2 to n do
if n mod i=0 then
begin
f:=true;
j:=2;
while f and(j<=round(sqrt(i/2)))do
begin
if i mod j=0 then f:=false
else j:=j+1;
end;
if f then write('*',i);
end;
end;
end.
Тестовое решение:
Введите число
2345
Число 2345 = 1*5*7*35*67