Для начала давай посмотрим на года.
1. Если разница между годом рождения и текущим годом больше 16, мы однозначно можем сказать, что человеку уже есть 16.
2. Если разница между годом рождения и текущим годом меньше 16, мы однозначно можем сказать, что человеку ещё нет 16.
Если разница между годом рождения и текущим годом равна 16, мы можем сказать, что у человека день рождения в этом году. Давай глянем на месяц.
1. Если текущий месяц больше месяца рождения, человеку уже есть 16.
2. Если текущий месяц меньше месяца рождения, человеку ещё нет 16.
Если у человека день рождения в этом месяце, давай точно так же глянем на дни.
В итоге мы уже точно знаем, когда у человека день рождения.
#include <bits/stdc++.h>
using namespace std;
int main() {
int d1, m1, y1, d2, m2, y2;
cin >> d1 >> m1 >> y1 >> d2 >> m2 >> y2;
if (y2 - y1 > 16) {
cout << "YES" << endl;
return 0;
} else if (y2 - y1 < 16) {
cout << "NO" << endl;
return 0;
}
if (m2 > m1) {
cout << "YES" << endl;
return 0;
} else if (m2 < m1) {
cout << "NO" << endl;
return 0;
}
if (d2 < d1) {
cout << "NO" << endl;
return 0;
}
cout << "YES" << endl;
return 0;
}
Файл решения прикреплён.
Объяснение:
Алгоритм следующий.
1. Вычисляем производную функции.
2. На рабочем листе в Excel вводим значения аргумента.
3. Вводим формулы для вычисления функции и производной, для одного значения х, а потом копируем на все остальные значения аргумента.
4. Применяем функции МИН и МАКС для определения максимального и минимального значений функции. Можно сказать, что приближенно решение уже получено (приближенно потому эти значения зависят от шага дискретизации).
5. Для точного получения критической точки пользуемся средством Excel для решения уравнения y'(x) = 0. Для полученного значения х* определяем y(х*).
6. Строим графики функции и производной. Выполняем условное форматирование рабочего листа для получения наглядной картинки.

