Для начала давай посмотрим на года.
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;
}
Файл решения прикреплён.
Поделитесь своими знаниями, ответьте на вопрос:
определить, какие значения x, y, z будут выведены после выполнения фрагмента программы на алгоритмическом языке.x=-3y=10z=-2y=2*x+yz=y*2-z/2x=y+zвывод x, y, zварианты ответов: 1) x=-2 y=16 z=-42) x=13 y=4 z=93) x=1 y=4 z=74) x=10 y=4 z=9
2)
Объяснение:
x=-3
y=10
z=-2
y=2*x+y = -3*2 + 10 = 4
z=y*2-z/2 = 4*2 - (-2)/2 = 9
x=y+z = 9 + 4 = 13
x = 13, y = 4, z = 9, ответ 2)