М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Грамотёка
Грамотёка
20.04.2020 13:37 •  Информатика

Это на WindowsForm кто шарит


Это на WindowsForm кто шарит

👇
Открыть все ответы
Ответ:

Объяснение:

Рассмотрим случай, когда число клеток по вертикали 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

4,4(56 оценок)
Ответ:
olya0611
olya0611
20.04.2020

#include <iostream>

#include <cmath>

#include <vector>

#include <map>

#include <set>

#include <queue>

#include <stack>

#include <algorithm>

#pragma GCC optimize("Ofast")

#define ll long long

using namespace std;

ll digits(ll a){

   if(a == 0)

       return 1;

   ll cnt = 0;

   while(a > 0){

       a /= 10;

       cnt++;

   }

   return cnt;

}

int main() {

   ll n;

   cin >> n;

   ll h = n/3600;

   h %= 24;

   n %= 3600;

   ll m = n/60;

   ll s = n % 60;

   cout << h << ':';

   if(digits(m) == 1)

       cout << 0;

   cout << m << ':';

   if(digits(s) == 1)

       cout << 0;

   cout << s;

}

на информатиксе 100 :)

4,8(25 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ