Пропускная некоторого канала связи равна 128 000 бит/с. сколько времени займёт передача по этому каналу файла объемом 500 мбайт? напишите числа в двойке в степени
Import java.util.*; import java.lang.*; import java.io.*; class MyLab { public static void main (String[] args) { int a; //первое число, от которого начнем int b; //второе число, до которого будем считать произведение int product; //произведение всех целых чисел Scanner in; //с этого объекта читаем ввод с клавиатуры in = new Scanner(System.in); System.out.println("Enter A: "); a = in.nextInt(); System.out.println("Enter B: "); b = in.nextInt(); if (a > b) //если число от которого начинаем больше чем до которого нужно считать - поменять их местами { int buf = a; //сохраняем значение a a = b; //присваиваем переменной a значение переменной b b = buf; //присваиваем переменной b значение сохраненной в buf переменной a } product = 1; //инициализируем 1, что бы получить корректное произведение (ни в коем случаи не 0м, если вы не понимаете почему именно 1, то вам нечего делать в программировании, без обид) for (int i = a; i <= b; ++i) //цикл, повторяем на промежутке от a до b с шагом в 1 { product *= i; //умнажаем текущее значение произведения всех целых чисел на текущее целое число } System.out.printf("Product of all integer numbers from A = %d, to B = %d, is = %d\n", a, b, product); } }
В сообщении 16+8+4+4=32 символа. Вероятность появления символа А равна 16/32=1/2, символа Б 8/32=1/4, символов В и Г - 1/8. Следовательно, для минимизации длины сообщения (условие "б") самым коротким должен быть символ А, несколько длиннее может быть символ Б и самые длинные - символы В и Г. По этой причине вариант 4) с равной длиной кодов не рассматриваем. Далее, достаточно компактными выглядят коды в варианте 2), но А=0 и В=01 нарушают условие "а" (код 0 является началом кода 01). Остаются варианты 1) и 3) В варианте 1) нарушений условий нет. В варианте 3) код буквы Б 01 является началом кода буквы В 011 и это нарушает условие "а". ответ: 1)