Он будет равен 64/4 = 16 Кбайт. Файл размером 16 Кбайт передаётся через некоторое соединение со скоростью 2048 бит в секунду. Определите размер файла (в Кбайт), который можно передать за то же время через другое соединение со скоростью 512 бит в секунду. В ответе укажите одно число — размер файла в Кбайт.
Var i, c, n: integer;
begin
read(n);
c:=1;
for i:=1 to n do
c:=c*2;
writeln(c);
<span>end.</span>
var cond,res:real;
begin
cond:=0;
readln(res);
while (res>0) do
begin
cond:=cond + 1/res;
readln(res);
end;
writeln(1/cond)
end.
(Считаю, что с клавиатуры вводятся сопротивления, признак конца ввода - 0)
Согласно алгоритму из блок-схемы, пока не получен ноль, число надо делить на 2, если оно четное, и отнимать 1, если нечетное. Проделываем это:
500 (четное) -> 250 (четное) -> 125 (нечетное) -> 124 (четное) -> 62 (четное) -> 31 (нечетное) -> 30 (четное) -> 15 (нечетное) -> 14 (четное) -> 7 (нечетное) -> 6 (четное) -> 3 (нечетное) -> 2 (четное) -> 1 (нечетное) -> 0
Чтобы получить из нуля 500, нужно пойти в обратном порядке: 0 -> 1 -> 2 -> 3 -> 6 -> 7 -> 14 -> 15 -> 30 -> 31 -> 62 -> 124 -> 125 -> 250 -> 500
Для 1024 всё проще:
От 1024 до 0: 1024 -> 512 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 -> 0 (на всех шагах кроме последнего число уменьшается в 2 раза, на последнем уменьшается на 1)
В обратную сторону 0 -> 1 -> 2 -> 4 -> ... -> 512 -> 1024 (на первом шаге число увеличивается на 1, затем 10 раз увеличивается в 2 раза)
233 - 128 = 1; 105 - 64 = 1; 41 - 32 = 1; 9 - 16 = 0; 9 - 8 = 1; 1 - 4 = 0; 1 - 2 = 0; 1 - 1 = 1; 233₁₀ = 11101001₂
233:8=29 и 1, 29:8=3 и 5; 233₁₀= 351₈
233₁₀=233₁₀
233:16=14 и 9; 233₁₀=Е9₁₆