В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Лерок228
Лерок228
10.12.2021 11:56 •  Информатика

Напишите программу для проверки попадания точки в заданную область плоскости​

Показать ответ
Ответ:
ryslan3222
ryslan3222
05.05.2023 01:47
ответ: 21Объяснение:

Каким бы длинным решение не казалось - это не так, оно очень короткое, просто очень подробно расписано во всех деталях. Итак, что нам известно:

Команда 1: +1Команда 2: *2Начальное: 2Конечное: 34Проходит через: 10Не проходит через: 28

Траектория вычислений должна содержать число 10. Узнаем сколько таких есть различных путей:

2 +1 +1 +1 +1 +1 +1 +1 +1 = 102 *2 +1 +1 +1 +1 +1 +1 = 10(2 +1) *2 +1 +1 +1 +1 = 10(2 +1 +1) *2 +1 +1 = 10(2 *2) *2 +1 +1 = 10(2 +1 +1 +1) *2 = 10(2 *2 +1) *2 = 10

Как мы видим - 7. Так как мы узнали все возможные пути до 10, узнаем теперь пути от 10 до 34. Чтобы они не проходили через число 28, нам нужно "перескочить" его, то есть какое-то число, меньшее 28, мы должны умножить на 2 и получить какое-то число, большее 28. Получаем такое неравенство: 10≤x<28 и 28<2x≤34

(10≤x<28 и 28<2x≤34) => (10≤x<28 и 14<x≤17) => (14<x≤17).

Подыщем такие значения:

10 +1 +1 +1 +1 +1 = 1510 +1 +1 +1 +1 +1 +1 = 1610 +1 +1 +1 +1 +1 +1 +1 = 17

Как мы видим - их 3. Дальше рассмотрим каждый:

15 *2 +1 +1 +1 +1 = 3416 *2 +1 +1 = 3417 * 2 = 34

Выходит для каждого только 1 вариант ("15+1", "15+1+1", "16+1" будет иметь такой же путь, как и просто 16 и 17, поэтому их не рассматриваем).

Получается 7 путей от 2 до 10 и 3 пути от 10 до 34. Итого: 7*3 = 21.

0,0(0 оценок)
Ответ:
rageworker
rageworker
09.07.2022 14:38

#include <iostream>

#include <set>

#include <vector>

using namespace std;

struct book{

   int name;

   int year;

   int k;

};

signed main() {

   ios_base::sync_with_stdio(0);

   cin.tie(0);

   cout.tie(0);

   vector<book> ans;

   int n;

   cin >> n;

   for(int i = 0; i < n; i++)

   {

       book bk;

       cin >> bk.name >> bk.year >> bk.k;

       if(bk.k >= 2 && bk.k <= 10)

           ans.push_back(bk);

   }

   for(auto i: ans)

       cout << i.name << " " << i.year << " " << i.k << "\n";

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота