Нужно написать программу, определяющую количество прямоугольников, которые можно вписать в прямоугольник с заданными сторонами m*n программа получает на вход два числа n и m – размеры исходного листа. все числа – целые положительные, не превосходящие 75000. программа должна вывести одно число – количество прямоугольников, которые можно вырезать из данного листа бумаги (весь лист целиком также считается одним из возможных прямоугольников). примеры вводят 2 и 2 выводится 9 вводят 3 и 1 выводится 6
283
497
Ответы на вопрос:
Посчитаем сколько всего узлов на этом листке: у нас он n клеточек в высоту, значит всего в каждом столбике n+1 узел; у нас он м клеточек в ширину, значит всего в каждой строчке м+1 узел.значит всего узлов ( n+1)*(м+1).чтобы определьть прямоугольник, надо определить два узла в которых будут противоположные углы: первый узел мы можем выбрать ( n+1)*(м+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.
Давайте отдельно прикинем объёмы двух изображения.
В первом у нас количество цветов было 4096
N = 4096
N =
i = 12
x - разрешение экрана (оно у нас одинаковое)
I1 - информационный объем первого сообщения.
I1 = x * 12
Теперь найдём объём второго.
N = 256
N =
i = 8
I2 = x * 8
Теперь просто делим I1 на I2
Получается, объем уменьшился в 1,5 раза.
Популярно: Информатика
-
Изумруд44412.05.2021 15:22
-
Наоя03.06.2020 12:10
-
diana619200501.05.2022 00:52
-
detka20108017.05.2022 12:12
-
Fredbreyn19.02.2022 06:28
-
stebone03.12.2020 12:12
-
DOSYMZHAN104.06.2023 09:33
-
kmelashenko09.10.2022 07:15
-
bobbobyashka104.09.2020 08:24
-
limswildep09q0c15.07.2021 15:42