Будем переводить скорость передачи в Мбайт/с, поскольку объем файла задан в Мб. Можно также решать задачу, приводя 5 Мб к битам, но так пусть связисты решают, биты - это их хлеб, а в информатике привычнее байты.
1 Мб = 2²⁰ б = 2²⁰×8 бит = 2²³ бит; 5 Мб = 5×2²³ бит 128000 бит/с = 1000×2⁷ бит/с и за 1 минуту с такой скоростью будет передано 60×1000×2⁷ = 60000×2⁷ бит. Тогда время на передачу файла составит (5×2²³) / (60000×2⁷) = 5×2¹⁶/60000 = 5×2⁶×2¹⁰/60000 = 5×64×1024/60000 ≈ 5.46 мин
Если есть калькулятор, можно сразу считать на нем, без степеней. 5 Мб = 5×1024×1024×8 = 41 943 040 бит. За минуту модем передает 128 000×60 = 7 680 000 бит Время передачи файла составит 41 943 040 / 7 680 000 ≈ 5.46 (мин)
Посчитаем сколько всего узлов на этом листке: у нас он N клеточек в высоту, значит всего в каждом столбике N+1 узел; у нас он М клеточек в ширину, значит всего в каждой строчке М+1 узел. Значит всего узлов (N+1)*(М+1). Чтобы определьть прямоугольник, надо определить два узла в которых будут противоположные углы: первый узел мы можем выбрать (N+1)*(М второй узел мы можем выбрать N*М мы не можем выбрать тот столбик и тот ряд, в котором у нас стоит первый узел). Тоэсть всего выбрать (N+1)*(М+1)*N*М, но это не так. Рассмотрим весь лист как выбраный прямоугольник. Пусть мы его выбрали так: (0; 0), (N+1; М+1). Этот же прямоугольник мы считали, когда плучали с такими координатами: 1) (N+1; М+1), (0; 0). 2) (N+1; 0), (0; М+1). 3) (0; М+1), (N+1; 0). И так с каждым прямоугольником, тоэсть каждый прямоугольник мы считаем 4 раза, тоэсть конечная формула такова: (N+1)*(М+1)*N*М / 4. Осталось составить прогрмму, которая будет это вичислять. С++: #include <iostream>using namespace std;int main() { int N, M, k; cin >> N >> M; k = (N+1)*(M+1)*N*M / 4; cout << k << endl; return 0; }
Pascal: program Znanija; var N, M, k:integer; begin
1 Мб = 2²⁰ б = 2²⁰×8 бит = 2²³ бит; 5 Мб = 5×2²³ бит
128000 бит/с = 1000×2⁷ бит/с и за 1 минуту с такой скоростью будет передано 60×1000×2⁷ = 60000×2⁷ бит.
Тогда время на передачу файла составит (5×2²³) / (60000×2⁷) = 5×2¹⁶/60000 = 5×2⁶×2¹⁰/60000 = 5×64×1024/60000 ≈ 5.46 мин
Если есть калькулятор, можно сразу считать на нем, без степеней.
5 Мб = 5×1024×1024×8 = 41 943 040 бит.
За минуту модем передает 128 000×60 = 7 680 000 бит
Время передачи файла составит 41 943 040 / 7 680 000 ≈ 5.46 (мин)
у нас он N клеточек в высоту, значит всего в каждом столбике N+1 узел;
у нас он М клеточек в ширину, значит всего в каждой строчке М+1 узел.
Значит всего узлов (N+1)*(М+1).
Чтобы определьть прямоугольник, надо определить два узла в которых будут противоположные углы:
первый узел мы можем выбрать (N+1)*(М
второй узел мы можем выбрать N*М мы не можем выбрать тот столбик и тот ряд, в котором у нас стоит первый узел).
Тоэсть всего выбрать (N+1)*(М+1)*N*М, но это не так.
Рассмотрим весь лист как выбраный прямоугольник.
Пусть мы его выбрали так:
(0; 0), (N+1; М+1).
Этот же прямоугольник мы считали, когда плучали с такими координатами:
1) (N+1; М+1), (0; 0).
2) (N+1; 0), (0; М+1).
3) (0; М+1), (N+1; 0).
И так с каждым прямоугольником, тоэсть каждый прямоугольник мы считаем 4 раза, тоэсть конечная формула такова:
(N+1)*(М+1)*N*М / 4.
Осталось составить прогрмму, которая будет это вичислять.
С++:
#include <iostream>using namespace std;int main()
{
int N, M, k;
cin >> N >> M;
k = (N+1)*(M+1)*N*M / 4;
cout << k << endl;
return 0;
}
Pascal:
program Znanija;
var N, M, k:integer;
begin
read(N);
read(M);
k:=((N+1)*(M+1)*N*M) div 4;
writeln();
writeln(k);
end.