20 МБайт = 20 * 1024 байт = 20 * 1024 * 8 бит = 163840 бит
Сначала рассмотрим первый случай, с применением архиватора:
Сначала инициатор отправки сжимает файл и затрачивает 14 секунд. Теперь файл весит 80% от 163840 бит = 131072 бит.
Затем инициатор отправки отправляет файл размером 131072 бит. На это затрачивается (131072 бит / 223 бит = 587.766816143) секунд.
Затем человек по ту сторону кабеля получает и распаковывает файл, на это он тратит 2 секунды. Суммарно затраченное время = 14 + 587.766816143 + 2 секунд = 603.766816143 секунд.
Рассмотрим второй случай, без применения архиватора:
Инициатор отправки отправляет файл размером 163840 бит. На это затрачивается (163840 бит / 223 бит = 734.708520179) секунд. Суммарно затраченное время = 734.708520179 секунд.
ответ: А 130.941704036
using System.Collections.Generic;
class Program
{
static void Main()
{
var l = new List<double>();
var r = new Random();
var n = r.Next(10, 50);
for (var i = 0; i < n; i++)
{
l.Add(r.NextDouble() * 2);
}
Console.WriteLine(CountRelation(l));
Console.ReadKey();
}
static double CountRelation(IEnumerable<double> a)
{
var r = 0.0;
var s = 0.0;
foreach (var item in a)
{
if (item <= 1)
r += item;
else s += item;
}
return (1 + r) / (1 + s);
}
}