Вопрос задан 10.07.2023 в 23:44. Предмет Информатика. Спрашивает Бакланова Ольга.

СРОЧНО! ДАЮ 40 БАЛЛОВ! Шахматная доска состоит из n×m клеток, покрашенных в чёрный и белый цвет в

шахматном порядке. При этом клетка в левом нижнем углу доски покрашена в чёрный цвет. Определите, сколько всего на доске чёрных клеток.Программа получает на вход натуральные числа n и m. Программа должна вывести ответ на задачу.ПримерыВвод 134Вывод6Язык Python
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Юрченко Ева.

Объяснение:

Рассмотрим случай, когда число клеток по вертикали n четное. В этом случае каждая пара горизонталей доски содержит ровно m клеток (m - число клеток доски по горизонтали). Тогда общее число черных клеток равно m*n/2.

При нечетном n к рассмотренным горизонтальным строкам добавляется еще одна - нечетная, конфигурация которой совпадает с первой (нечетной) горизонталью.

Если клетка в левом нижнем углу первой горизонтали черная, то количество черных клеток в ней можно определить как сумму результата целочисленного деления количества клеток по горизонтали на два и остатка от этого деления. В результате приходим к следующей формуле:

\begin{lgathered}k=\begin {cases} \frac{mn}{2}, \ n \, mod \, 2=0 \\ \frac{m(n-1)}{2}+ (m \, div \, 2)+(m \, mod \, 2), \ n \, mod \, 2=1 \end {cases}\end{lgathered}

k={

2

mn

, nmod2=0

2

m(n−1)

+(mdiv2)+(mmod2), nmod2=1

Ниже представлен текст программы на языке Pascal.ABC.NET

var

m, n: integer;

begin

Write('Введите количество горизонталей на доске: ');

Readln(n);

Write('Введите количество вертикалей на доске: ');

Readln(m);

if (n mod 2) = 0 then Writeln('Черных клеток на доске- ', m * n / 2)

else Writeln('Черных клеток на доске- ', m * (n-1) / 2 + (m div 2) + (m mod 2))

end.

Тестовое решение:

Введите количество горизонталей на доске: 8

Введите количество вертикалей на доске: 7

Черных клеток на доске- 28

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи можно воспользоваться формулой арифметической прогрессии для суммы чётных чисел. Заметим, что каждая вторая клетка на шахматной доске является чёрной. Таким образом, если мы посчитаем общее количество клеток на доске и поделим его на 2, мы получим количество чёрных клеток.

Вот соответствующий код на языке Python:

python
n = int(input("Введите значение n: ")) m = int(input("Введите значение m: ")) total_cells = n * m black_cells = total_cells // 2 print("Количество чёрных клеток на доске:", black_cells)

Теперь, если вы введёте значения n = 13 и m = 4, программа выведет:

Количество чёрных клеток на доске: 26

Примечание: Чтобы код работал корректно, убедитесь, что значения n и m больше 0.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос