Скорость передачи данных через модемное соединение равна 4096 бит/c. Передача для текстового файла через это соединение заняла 10 сек. Определите сколько символов содержал переданный текст если известно, он был представлен в кодировке Unicode.
Итак первые два символа кодируются кодовыми словами 0 и 10. Найдём для оставшихся трех символов наиболее короткое представление, удовлетворяющее условию Фано. Из двузначных чисел можно взять 11, но тогда невозможно подобрать трехзначное число для четвертого символа, по этому не берем. Единственное подходящее трехзначное число - 110 (111 не подходит по той же причине. что и 11). Аналогично выбираем числа 1110 и 11110. В итоге получается ряд: 0, 10, 110, 1110, 11110. Общая длина = 1+2+3+4+5=15
Возможный вариант в C++ #include <iostream> int main() { using namespace std; int N; cout << "Enter N: "; cin >> N; int num; int max = 1; int i; for (i = 0; i < N; ++i) { cout << "Enter #" << i + 1 << " number: "; cin >> num; if ((num - 9) % 10 != 0 && num % 3 == 0) { max = num; break; } } for (int j = i + 1; j < N; ++j) { cout << "Enter #" << j + 1 << " number: "; cin >> num; if ((num - 9) % 10 != 0 && num % 3 == 0) if (num > max) max = num; } if (max != 1) cout << "Max number div by 3 and don't end 9: " << max << endl; else cout << "No numbers div by 3 and don't end 9" << endl; return 0; }
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку