Юный художник Вася нарисовал плакат с очень большим числом и решил повесить его на самую длинную стену школы. К сожалению, даже самая длинная стена оказалась недостаточно длинной. Теперь ему нужно выкинуть из числа ровно половину цифр. Вася — максималист, поэтому он хочет, чтобы число, получившееся после всех правок, было как можно больше, но он ни за что не согласится переставлять оставшиеся цифры местами, так как это нарушит цветовой баланс плаката Васе переделать плакат. Например, если первоначально на плакате было написано число 7825, то максимальное число, которое может получить Вася из половины имеющихся цифр, сохраняя их порядок, это 85.
Вам необходимо решить задачу для следующих пяти возможных чисел, записанных на плакате:
43521867
7854635912
78957968765876887695
123456789123456789123456789123456789123456789123456789123456789123456789
987654321087654321076543210654321054321043210321021010
В четвёртом примере на плакате выписаны цифры от 1 до 9, и эта последовательность повторена 8 раз (всего на плакате 72 цифры).
В пятом примере на плакате выписаны цифры по убыванию от 9 до 0, затем от 8 до 0, затем от 7 до 0, затем от 6 до 0, затем от 5 до 0, затем от 4 до 0, затем от 3 до 0, затем от 2 до 0, затем от 1 до 0 (всего 54 цифры).
ответом на эту задачу является пять целых чисел, записанных в пяти отдельных строках, по одному числу в строке. ответы должны быть записаны в том же порядке, в котором они приведены в условии. Если вы не можете найти ответ для какого-то данного числа, напишите в ответе вместо него любое число.
3. CREATE TABLE
нужны имя полей и тип их данных, например уникальный ID это id = PRIMARY KEY
текст = text , не пустой текст = TEXT NOT NULL ,
числа = REAL,INT время = DATE и т.д
6. SELECT, FROM, GROUP BY, WHERE, ORDER BY, HAVING
7. SELECT - указывает , что извлекать из таблицы, так же может содержать агрегирующие функции и функции времени такие как EXTRACT, DATE_TRUNC
8. FROM - указывает из какой таблицы извлекать, так же можно указать подзапрос
9. WHERE - указывает какие условия нужны для извлечения , которые указаны в SELECT, не может сравнивать агрегирующие функции , для этого есть HAVING, также может содержать подзапрос
10. GROUP BY - групирует по .., HAVING - то же самое , что WHERE , только для агрегирующих функций
11. ORDER BY - использует методы ASC(по возрастанию значений) пример - имя_поле ASC, или DESC(по убыванию значений) - имя_поля DESC
Объяснение:
Будут вопросы напиши в коменты(
С++20
#include <iostream>#include <vector>class Point {public: int x, y; Point() = default; Point(const Point &) = default; Point(int _x, int _y) : x(_x), y(_y) {} Point operator + (const Point& p) const { return Point {x + p.x, y + p.y}; } Point operator - (const Point& p) const { return Point {x - p.x, y - p.y}; } std::vector<Point> operator & (const Point& p) const { return std::vector<Point> { Point {x + p.x, y + p.y}, Point {x - p.x, y + p.y}, Point {x + p.x, y - p.y}, Point {x - p.x, y - p.y}, Point {x + p.y, y + p.x}, Point {x - p.y, y + p.x}, Point {x + p.y, y - p.x}, Point {x - p.y, y - p.x}, }; } static Point max (const Point& p1, const Point& p2) { return Point {std::max(p1.x, p2.x), std::max(p1.y, p2.y)}; } static Point min (const Point& p1, const Point& p2) { return Point {std::min(p1.x, p2.x), std::min(p1.y, p2.y)}; } [[nodiscard]] int distance_to_by_ch (const Point & p) const { return std::max(std::abs(p.x - x), std::abs(p.y - y)); } [[nodiscard]] int distance_to_by_m (const Point & p) const { return std::abs(p.x - x) + std::abs(p.y - y); } friend std::ostream &operator << (std::ostream &os, Point const &p) { return os << "(" << p.x << ";" << p.y << ")"; } Point & operator = (const Point &) = default; bool operator == (const Point & p) const { return x == p.x && y == p.y; }};class Horse {public: const Point p; explicit Horse (const Point position) : p(position) { } [[nodiscard]] bool can_I_kill_this_guy (const Point & m) const { auto field = p & Point{2, 3}; return std::find(field.begin(), field.end(), m) != field.end(); }};std::istream &to_number(std::istream &stream) { char ch; do { ch = stream.get(); } while (!isalpha(ch)); if (isupper(ch)) ch -= 16; else ch -= 48; stream.putback(ch); return stream;}int main () { Point horse_p{}, stranger_p{}; std::cin >> horse_p.x >> to_number >> horse_p.y; std::cin >> stranger_p.x >> to_number >> stranger_p.y; Horse jack(horse_p); std::cout << "I am a Horse placed on " << jack.p << ". " << "Can I kill those guy on " << stranger_p << "? " << "-> " << std::boolalpha << jack.can_I_kill_this_guy(stranger_p); }