Program n1;
type z = array of integer;
var a: z;
i,n,x,j,buf: integer;
f: text;
begin
randomize;
assign(f,'input.txt');
reset(f);
n:=0;
readln(f,x);
setlength(a,x);
while not eof(f) do
begin
read(f,a[n]);
n:=n+1;
end;
close(f);
for i:=0 to n-2 do
for j:=i+1 to n-1 do
if a[i]>a[j] then begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
assign(f,'output.txt');
rewrite(f);
for i:=0 to x-1 do write(f,a[i],' ');
close(f);
end.
2^3=8 ---> 3 бита для кодировки одного цвета
Всё изображение занимает объём памяти= 3*х,
где х - размер растрового изображения
Скорость передачи v=3x/30=x/10
после изменения кол-ва цветов их стало (3+y):
v=(3+y)*x/20; v - скорость передачи - величина постоянная
Уравнение:
(3+y)*x/20=x/10
(3+y)/2=1
(3+y)=2
y=-1
цветов стало:
3+у=3-1=2 бита для одного цвета, количество цветов =2^2=4 цвета
Было: 8 цветов
Стало 4 цвета для передачи изображения в Б
#include <iostream>
int main() {
for(;;) {
double sg, pk_1 = 3.26;
std::cin >> sg; // Вводишь расстояние до звезды
std::cout << sg / pk_1 << std::endl;
if (sg == 0) break; // если вводишь 0, программа завершается
}
return 0;
}
// программа выводит на экран значение расстояния до звезды в парсеках
I = v * t , где I - объём файла, v - скорость передачи, t - время передачи. Нам известно I и v , значит t = I/v, переводим байты в биты: 108712 байт * 8 бит = 869696 бит.
Решаем: t = 869696 бит / 1016 бит/c = 856 секунд
Ответ: 856 секунд