Вот подробное решение задачи, вместе с программой и блок-схемой.
Цель: понять, почему результат не равен нулю, и как посчитать разницу.
Разбор задачи
- Алиса вкладывает X рублей на 2 года под 9% годовых с капитализацией в конце года. При этом за первый год сумма увелится до X · (1 + 0.09) = 1.09X, а за второй год — умножится еще на 1.09. Итог Алисы через 2 года: A = X · (1.09)^2 = X · 1.1881.
- Боб делает такой же вклад через год после Алисы, то есть его вклад стартует в год 1 и хранится 1 год (до года 2) под тем же условием. Итог Боба через год после его вклада: B = X · (1 + 0.09) = X · 1.09.
- Разница, на которую Алиса получает больше Боба: D = A − B = X · (1.09)^2 − X · 1.09 = X · [ (1.09)^2 − 1.09 ] = X · 0.09 · 1.09 = 0.0981 · X.
Таким образом, ответ зависит только от X: Алиса получит больше Боба на 0.0981 · X рублей.
Программа (Python)
- Вводим X (в рублях).
- Задаем r = 0.09.
- Вычисляем alice_final = X · (1 + r)^2 и bob_final = X · (1 + r).
- Разница diff = alice_final − bob_final.
- Выводим результат с двумя знаками после запятой.
Программа:
- Ввод: X = float(input("Введите вклад X (руб.): "))
- r = 0.09
- alice_final = X * (1 + r) ** 2
- bob_final = X * (1 + r)
- diff = alice_final - bob_final
- print("Разница: {:.2f} руб.".format(diff))
Если хочется одной строкой без явного вычисления двух итогов:
- diff = X * r * (1 + r)
- print("Разница: {:.2f} руб.".format(diff))
Пояснение к коду:
- Мы учитываем, что Алиса держит вклад 2 года, Боб — только 1 год, потому разница равна X · [(1+r)^2 − (1+r)].
- Для r = 0.09 это 0.0981 · X.
Блок-схема (ASCII-упрощённая) Начало -> Ввод X -> r = 0.09 -> alice = X * (1 + r) ^ 2 -> bob = X * (1 + r) -> diff = alice - bob -> Вывести diff -> Конец
Подробнее в виде блоков: [Начало] | [Ввод X] ← X | [r = 0.09] | [alice = X * (1 + r)^2] | [bob = X * (1 + r)] | [diff = alice - bob] | [Вывод diff] | [Конец]
Если нужно, могу привести версию программы на другом языке (C++, Java, JavaScript) или добавить обработку ввода в формате kopeck и вывод в рублях с двумя знаками после запятой.