Для начала давай посмотрим на года.
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;
}
Файл решения прикреплён.
Напишите рекомендательную систему для нового сервиса Bookflix, подбирающего книги для пользователя. Сервис хранит все прочитанные пользователем книги и по его за Посоветуй мне книгу" должен подобрать набор книг, соответствующий критериям:
книга не должна быть прочитана пользователем ранее.
книга должна быть в любимом жанре пользователя. Любимый жанр – это жанр, который чаще всего встречается в списке прочитанных книг. Любимых
Объяснение:
Напишите рекомендательную систему для нового сервиса Bookflix, подбирающего книги для пользователя. Сервис хранит все прочитанные пользователем книги и по его за Посоветуй мне книгу" должен подобрать набор книг, соответствующий критериям:
книга не должна быть прочитана пользователем ранее.
книга должна быть в любимом жанре пользователя. Любимый жанр – это жанр, который чаще всего встречается в списке прочитанных книг. Любимых
Программы правда выводят не просто число, т.к. это не очень понятно получается, поэтому сначала выводится название того, что именно мы сосчитали.
Когда проверите работу программы, просто уберите текстовую часть вывода в конце, и тогда будет как в задаче- выводится только одно число.
Также, в последней программе можно сократить сообщение при отсутствии искомых чисел до просто "NO".
1) оканчивающиеся на 4 (минимальное):
цел ч,н,п,м=0
алг
нач
вывод "количество чисел в последовательности= "
ввод п
вывод "ввод последовательности натуральных чисел:", нс
нц для н от 1 до п
вывод "число ", н, " из ", п, " = "
ввод ч
если mod (ч, 10) = 4 то
если м=0 или м>ч то м := ч всё
всё
кц
вывод "минимальное число, оканчивающееся на четыре= ", м
кон
2) кратные 5 (среднее арифметическое):
цел ч,н=0,с=0,к=0
алг
нач
вывод "ввод последовательности натуральных чисел:", нс
нц
н := н+1
вывод "число №", н, " = "
ввод ч
если mod (ч, 5) = 0 и ч <> 0 то
с := с+ч
к := к+1
всё
кц при ч=0
если к=0 то
вывод "NO (нет чисел, кратных пяти)"
иначе
вывод "среднее арифметическое чисел кратных пяти= ", с/к
всё
кон