
Напишите пожалуйста в С++ Дан порядковый номер дня года (отсчет идет с 1-го января). Выведите
номер дня недели этого дня, если 1 января — вторник. Формат входных данных: Вводится номер дня года — целое число k (1≤k≤365). Формат выходных данных: Требуется вывести номер дня недели для данного дня года (понедельник — 1, вторник — 2, ..., воскресенье — 7). Мэрия города М-ска приняла решение провести реновацию домов на улице Льва Толстого. Как известно, дома на этой улице нумеруются натуральными числами от 1 до N, при этом на одной части улицы стоят дома с чётными номерами, а на другой — с нечётными. Кроме этого, дома с номерами от L до R относятся к исторической застройке, и под программу реновации не попадают. Помогите мэрии определить, сколько домов попадет под программу реновации на чётной стороне улицы. Формат входных данных На вход программе даются три целых числа N, L и R (1 ≤ L ≤ R ≤ N ≤ 1018). Формат выходных данных Требуется вывести одно целое число — количество домов, которые попадут под программу реновации на чётной стороне улицы. Примечания В первом примере из условия на чётной стороне улицы 5 домов — 2, 4, 6, 8 и 10. Из них дома 4 и 6 относятся к исторической застройке, поэтому под программу реновации не попадут. Оставшиеся три дома имеют номера 2, 8, 10. Во втором примере, вся чётная сторона улицы относится к исторической застройке.

Ответы на вопрос

Ответ:
///1
#include <iostream>
using namespace std;
main()
{
int k;
cin >> k;
cout << (k % 7 ) + 1;
return 0;
}
///2
#include <iostream>
using namespace std;
main()
{
long int N, L, R;
cin >> N >> L >> R;
cout << N / 2 + (L + 1) / 2 - R / 2 - 1;
return 0;
}
Объяснение:



Вот пример решения задачи на C++, который позволит определить количество домов, попадающих под программу реновации на чётной стороне улицы:
cpp#include <iostream>
int main() {
long long N, L, R;
std::cin >> N >> L >> R;
long long even_houses = N / 2; // количество домов на чётной стороне улицы
long long renovated_houses = 0; // количество домов, попадающих под программу реновации
if (L > even_houses) {
// Если историческая застройка находится на чётной стороне,
// то количество домов, попадающих под программу реновации, будет равно 0.
renovated_houses = 0;
} else if (R <= even_houses) {
// Если все дома исторической застройки находятся на чётной стороне,
// то количество домов, попадающих под программу реновации,
// будет равно разности между правой и левой границами исторической застройки.
renovated_houses = R - L + 1;
} else {
// В противном случае, на чётной стороне будет находиться только часть исторической застройки.
// Количество домов, попадающих под программу реновации,
// будет равно разности между количеством домов на чётной стороне и номером первого дома на нечётной стороне.
renovated_houses = even_houses - L + 1;
}
std::cout << renovated_houses << std::endl;
return 0;
}
Программа считывает три целых числа N
, L
и R
, которые представляют количество домов на улице, номер первого дома и номер последнего дома исторической застройки соответственно. Затем она вычисляет количество домов на чётной стороне улицы (even_houses
) путем деления общего количества домов на 2. Затем она проверяет различные случаи, чтобы определить количество домов, попадающих под программу реновации (renovated_houses
). В конце программа выводит результат.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili