Задача: файл 600 Мбайт, Катя скачивает через интернет со скоростью 223 бит/с, затем передаёт по локальной сети со скоростью 221 бит/с. Катя должна полностью скачать файл, прежде чем начинать передачу Пете. Найти время, за которое Петя получит серию.
Пошаговое решение
- Приведение объема файла к битам
- Важно указать, какую единицу мегабайт использовать. Обычно в задачах берут 1 Мбайт = 10^6 байт.
- Тогда размер файла в битах: 600 Мбайт = 600 · 8 · 10^6 бит = 4 800 000 000 бит.
(Примечание: если взять 1 Мбайт = 2^20 байт ( MiB ), то будет 600 · 8 · 2^20 бит = 5 033 164 800 бит. Разница несильно влияет на ответ, но стоит помнить об условности.)
- Время на скачивание Катей (из интернета)
- Время t1 = размер файла в битах / скорость скачивания
- t1 = 4 800 000 000 бит / 223 бит/с ≈ 21 524 664 секунд.
- Преобразуем: ≈ 249.1 дня.
- Время на передачу от Катя к Петe по локалке
- После полной загрузки можно начинать передачу, поэтому время передачи t2 считается отдельно.
- t2 = размер файла в битах / скорость передачи
- t2 = 4 800 000 000 бит / 221 бит/с ≈ 21 719 457 секунд.
- Преобразуем: ≈ 251.6 дня.
- Общее время
- Так как Катя должна сначала скачать весь файл, а затем передать его Пете, суммарное время
- T = t1 + t2 ≈ 21 524 664 + 21 719 457 ≈ 43 244 121 секунд.
- Преобразуем в дни: 43 244 121 s / 86400 s/day ≈ 500.5 дня.
Ответ При использовании стандарта 1 Мбайт = 10^6 байт общее время примерно 4.3244·10^7 секунд, что около 500.5 дней. То есть ребятам понадобиться примерно полтора года.
Дополнение
- Если взять 1 Мбайт = 2^20 байт (то есть 600 МБ = 600 MiB), то общий результат увеличится примерно на 25 дней и примерно будет около 525–526 дней. Разница обусловлена неоднозначностью единиц измерения мегабайт в задачах.
Если нужно, могу привести подробные расчёты по альтернативной трактовке единиц (MiB).