Вопрос задан 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;
}

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос