Для начала давай посмотрим на года.
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;
}
if (m2 > m1) {
} else if (m2 < m1) {
if (d2 < d1) {
Файл решения прикреплён.
116
Объяснение:
d = 100
для k от 5 до 12 выполнить
Действия в цикле:
1) d = d - 6
2) d = d + 8
Вывод d
Цикл выполнится 8 раз
количество повторов в цикле равно конечное значение (12) переменной счётчика (k) минус начальное значение (5) переменной счётчика (k) плюс 1
количество повторов в цикле = 12 - 5 + 1 = 7 + 1 = 8
В цикле переменная d сначала уменьшается на 6, а затем увеличивается на 8.
В сумме эти действия () увеличивают переменную d на 2.
Следовательно за весь цикл переменная d увеличится на 2 * 8.
Т.к. в начале программы d = 100, то
d = 100 + 2 * 8 = 100 + 16 = 116
Для начала давай посмотрим на года.
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;
}
Файл решения прикреплён.
116
Объяснение:
d = 100
для k от 5 до 12 выполнить
Действия в цикле:
1) d = d - 6
2) d = d + 8
Вывод d
Цикл выполнится 8 раз
количество повторов в цикле равно конечное значение (12) переменной счётчика (k) минус начальное значение (5) переменной счётчика (k) плюс 1
количество повторов в цикле = 12 - 5 + 1 = 7 + 1 = 8
В цикле переменная d сначала уменьшается на 6, а затем увеличивается на 8.
В сумме эти действия () увеличивают переменную d на 2.
Следовательно за весь цикл переменная d увеличится на 2 * 8.
Т.к. в начале программы d = 100, то
d = 100 + 2 * 8 = 100 + 16 = 116