Вопрос задан 19.01.2026 в 17:49. Предмет Информатика. Спрашивает Петрова Анастасия.

Мой богатый дядюшка подарил мне один доллар на мой первый день рождения. В каждый следующий день рождения он удваивал свой прошлогодний подарок, прибавлял к нему столько долларов, сколько лет мне исполнялось, и полученную сумму дарил мне. Напишите программу, подсчитывающую общую сумму всех денег, подаренных к N-му дню рождения. Формат входных данных: На вход программе подаётся единственное число N. Это в Паскале.

Перейти к ответам

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

Отвечает Ягодка Лайла.

Для решения задачи, нам нужно вычислить сумму всех подарков, которые дядюшка дарил на каждом из дней рождения.

Условия таковы:

  1. На первый день рождения он дарит 1 доллар.

  2. На каждый следующий день рождения сумма подарка удваивается по сравнению с предыдущим, и к этой сумме прибавляется количество лет, которое исполнилось человеку.

Давайте разберемся, как подсчитать общую сумму подарков к N-му дню рождения.

  1. На первый день рождения дарится 1 доллар.

  2. На второй день рождения дядюшка дарит 2 доллара (удваивает 1 доллар) и прибавляет 2 (возраст). Итого 4 доллара.

  3. На третий день рождения — удваивает 4 доллара, добавляет 3 (возраст), и получается 11 долларов.

  4. На четвертый день рождения — удваивает 11 долларов, добавляет 4, и получается 26 долларов.

И так далее для каждого последующего дня рождения.

Алгоритм будет заключаться в том, чтобы на каждом шаге удваивать сумму подарка, добавлять возраст и добавлять эту сумму к общей. Сумма, подаренная на каждом дне рождения, вычисляется по формуле:
gift[i] = 2 * gift[i-1] + i

Пример на языке Паскаль:

pascal
program BirthdayGifts;

var N, i, gift, total: integer;

begin readln(N); gift := 1; { первый подарок 1 доллар } total := gift; { начальная сумма всех подарков } for i := 2 to N do begin gift := 2 * gift + i; { удваиваем подарок и добавляем возраст } total := total + gift; { добавляем текущий подарок к общей сумме } end; writeln(total); { выводим общую сумму } end.

Программа работает следующим образом:

  1. Мы начинаем с подарка 1 доллар в первый день.

  2. Для каждого последующего дня рождения мы удваиваем подарок и прибавляем возраст.

  3. На каждом шаге добавляем текущий подарок к общей сумме.

  4. После завершения цикла выводим общую сумму подарков.

Пример работы программы:

  • Ввод: 3

  • Вывод: 26

Таким образом, программа подсчитывает общую сумму всех подарков, которые были получены к N-му дню рождения.

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

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

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

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