Саша совершенно не любит спиннеры, потому он рисует в тетрадке. Он

Саша совершенно не любит спиннеры, поэтому он живописует в тетрадке. Он взял тетрадный лист из NxM клеток и пронумеровал все клетки разными числами. Теперь ему стало интересно, сколько различных треугольников он может вырезать из этого листа по границам клеточек.
Программка получает на вход два числа N и M - размеры начального листа. Все числа положительные, и не превосходящие 75000.
Программка должна вывести одно число - кол-во прямоугольников.

Задать свой вопрос
1 ответ
Посчитаем сколько всего узлов на этом листке:
у нас он N клеточек в вышину, означает всего в каждом столбике N+1 узел;
у нас он М клеток в ширину, означает всего в каждой строке М+1 узел.
Значит всего узлов (
N+1)*(М+1).
Чтоб определьть прямоугольник, надобно найти два узла в которых будут обратные углы:
1-ый узел мы можем выбрать (
N+1)*(М+1) способами;
2-ой узел мы можем избрать 
N*М методами (мы не можем избрать тот столбик и тот ряд, в котором у нас стоит 1-ый узел).
Тоэсть всего методов избрать (
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 lt;iostreamgt;using namespace std;int main()

int N, M, k;
cin gt;gt; N gt;gt; M;
k = (N+1)*(M+1)*N*M / 4;
cout lt;lt; k lt;lt; 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.
Konopelchenkova Oksana
Спасибо за твоё решение, но с++ не компилируется, а Паскаль не проходит 3 теста. Скажи пож: это Pascal ABC или Free Pascal?
Борька Исковских
На c++ всё правильно
Evgenij Stronov
создайте консольное прибавление, перед return 0; напишите system (pause), тогда вы увидите решение, а так оно будет запираться автоматом
Женя
Или в обыкновенном пустопорожнем проекте включите библиотеку include и перед return пропишите _getch();
Кирилл Черепенчук
За Паскаль ни чего сказать не могу, не знаю языка
Максим Корпеенков
А есть на Pythone?
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
задание экономиоти Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких

Экономика.

Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности

Экономика.

там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо

Русский язык.

Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.

Разные вопросы.

Сочинение на тему "Русский язык не сможет умереть!"

Математика.

Приветствую! Меня зовут Станислав, я представляю компанию under.site. Хотел бы предложить интересное решение

Разные вопросы.

Масса трёх одинаковых пакетов чая 180г чему равна масса

Математика.

Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл

Химия.

Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы

Русский язык.

Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника

Геометрия.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт