Паскале делать 3. не про спиннеры саша совсем не любит спиннеры, поэтому он рисует в тетрадке . он взял тетрадный лист из n x m клеточек и пронумеровал все клетки различными числами. теперь ему стало интересно, сколько различных прямоугольников он может вырезать из жтого листа бумаги по границам клеточек. программа получает на вход два числа n и m размеры исходного листа. все числа - целые положительные,не превосходящие 75000. программа должна вывести одно число- количество прямоугольников, которые можно вырезать из данного листа бумаги(весь лист целиком также считается одним из возможных прямоугольников)
179
336
Ответы на вопрос:
Посчитаем сколько всего узлов на этом листке: у нас он 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.
// pascalabc.net 3.3, сборка 1627 от 27.01.2018 // внимание! если программа не работает, обновите версию! begin readlines('t1.txt').where(s-> s.matches('\d').count=0).writelines('t2.txt') end. файлы т1 и т2 должны находиться в той же папке, что и программа, в противном случае надо указать полные имена файлов.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Sijjj77714.02.2022 11:02
-
AirinMandarin30.06.2023 17:18
-
svetlanavikuli31.10.2021 21:13
-
Kamila2o1816.02.2022 23:09
-
Rian133821.07.2022 00:22
-
аринашум200729.12.2022 23:38
-
atsaruk200230.01.2021 00:10
-
markus1002428.04.2022 14:31
-
Ленчикбарми01.03.2021 12:54
-
Diana10200420.07.2020 16:13
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.