Ayshalike
08.04.2021 20:18

ДАМ 50Б Составить блок-схемы описывающие алгоритмы решения следующих задач
Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.
Даны два числа. Вывести вначале большее, а затем меньшее из них.
Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (цикл с параметром).
Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления (цикл с предусловием).

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Snake505
19.08.2021 03:02

Небольшое наблюдение: если Денис может использовать ровно M лопастей, то он может использовать их так, чтобы четырёхлопастных спиннеров было не больше двух. (Если их три или больше, то каждые три четырёхлопастных спиннера можно поменять на 4 трёхлопастных).

Код (C++)
#include <iostream>
int main() {
    long long M;
    std::cin >> M;
    for (int f = 0; f < 3 && f * 4 <= M; f++) {
        if ((M - f * 4) % 3 == 0) {
            std::cout << (M - f * 4) / 3 << " " << f;
            return 0;
        }
    }
    std::cout << "0 0";
    return 0;
}

0,0(0 оценок)
Ответ:
Kira1626
19.06.2020 15:39
Посчитаем сколько всего узлов на этом листке:
у нас он N клеточек в высоту, значит всего в каждом столбике N+1 узел;
у нас он М клеточек в ширину, значит всего в каждой строчке М+1 узел.
Значит всего узлов (N+1)*(М+1).
Чтобы определьть прямоугольник, надо определить два узла в которых будут противоположные углы:
первый узел мы можем выбрать (N+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.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота