Есть ответ 👍

Саша совсем не любит спиннеры, поэтому он рисует в тетрадке. он взял тетрадный лист из nxm клеточек и пронумеровал все клетки различными числами. теперь ему стало интересно, сколько различных треугольников он может вырезать из этого листа по границам клеточек. программа получает на вход два числа n и m - размеры исходного листа. все числа положительные, и не превосходящие 75000. программа должна вывести одно число - кол-во прямоугольников.

119
184
Посмотреть ответы 2

Ответы на вопрос:

bIshkin
4,4(27 оценок)

Посчитаем сколько всего узлов на этом листке: у нас он  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.
yliana121
4,7(44 оценок)

#include <iostream>

int main()

{

int number = 4738;

int a = number % 1000 / 100;

   int b = number % 100 / 10;

   int sum = a + b;

   std::cout << "Сумма 2 и 3 цифры = " << sum <<std::endl;

return 0;

}

// или вовсе так:

#include <iostream>

int main()

{

int number = 4738;

std::cout << "Сумма 2 и 3 цифры = " << number % 1000 / 100 + number % 100 / 10 << std::endl;

}

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS