Вопрос задан 23.10.2026 в 12:49.
Предмет Информатика.
Спрашивает Беляшова Маша.
Сдать решение задачи 5-Летоисчисление
Полный балл: 10
Ограничение времени: 500 мс
Ограничение памяти: 512M
Ограничение размера стека: 64M
Задача 5: Летоисчисление
В григорианском календаре годы нумеруются числами 1, 2, 3 и т.д., это годы “нашей эры”. Предшествующие годы называются “первый год до нашей эры”, “второй год до нашей эры” и т.д.
Будем обозначать годы нашей эры положительными числами, а годы до нашей эры — отрицательными. При этом года с номером 0 не существует, то есть нумерация лет выглядит так: ..., −3, −2, −1, 1, 2, 3, ...
В летописях написано, что какое-то событие произошло в году номер A, а другое событие произошло спустя n лет после первого события (или за n лет до первого события). Определите, в каком году произошло второе событие.
Входные данные
Первая строка входных данных содержит число A — год, в котором произошло первое событие. Вторая строка содержит число n. Если n > 0, то второе событие произошло через n лет после первого события, а если n < 0, то второе событие произошло за |n| лет до первого события. Оба числа могут быть как положительными, так и отрицательными.
Выходные данные
Программа должна вывести одно целое число — номер года, в который произошло второе событие.
Система оценивания
Решение, правильно работающее только для случаев, когда все входные числа по модулю не превосходят 100, будет оцениваться в 6 баллов.
В 10 баллов будет оцениваться решение, правильно работающее, когда все входные числа по модулю не превосходят 10^9.
Примеры
Ввод Вывод Пояснение
5
-3
2
Первое событие произошло в 5 году, второе событие произошло за 3 года до первого, это был 2 год.
-3
1
-2
Первое событие произошло в 3 году до н.э., второе событие произошло через 1 год, это 2 год до н.э. Ответ: -2.
-3
4
2
Первое событие произошло в 3 году до н.э., второе событие произошло через 4 года. Отсчитываем 4 года: 2 год до н.э., 1 год до н.э., 1 год н.э., 2 год н.э. Ответ: 2.
Сдать решение
Язык:
Файл
Отправить!
Ответы на вопрос
Отвечает Иваненко Костя.
Сначала найдём \(A+n\). Если при переходе из отрицательных лет получается \(0\) или положительное число, нужно прибавить \(1\), потому что нулевого года нет.
Решение на C++17:
#include <iostream>
using namespace std;
int main() {
long long A, n;
cin >> A >> n;
long long answer = A + n;
if (A < 0 && answer >= 0) answer++;
cout << answer;
return 0;
}
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

