
Многие банки при оплате покупок их банковскими картами предлагают систему возврата части
потраченных средств, называемую cashback. Мама Алёны имеет три подобные карты с разными условиями возврата части потраченной сум- мы. На карту банка RR возвращается 5 рублей из каждых полных 100 рублей стоимости одной покупки. Например, 5 рублей возвращается и за покупку стоимостью 100 рублей, и 199 рублей. Банк BB возвращает 2 рубля с каждых 50 рублей покупки, и за покупку стоимостью 199 рублей он вернет уже 6 рублей. А банк ММ возвращает 3% с полной стоимости любой покупки (заметим, что при цене в целом числе рублей, 3% всегда будут составлять целое число копеек), поэтому за покупку в 199 рублей вернется 5 руб. 97 коп. Алёна любит ходить вместе с мамой за покупками. Мама предложила Алёне определять, какую покупку какой картой оплачивать, чтобы сумма возврата была максимально возможной. Считайте, что оплата любой покупки возможна любой картой. Если какие-то две или все три карты дают лучшую сумму возврата с точностью до копеек, то Алёна выбирает ту из карт, которая ей больше нравится по оформлению. Больше всего Алёна любит карту банка MM, затем идёт карта банка BB, а меньше всего Алёне нравится карта банка RR. Формат входных данных Вводится одно целое число S (1 ⩽ S ⩽ 10 000) — стоимость покупки в рублях. Формат выходных данных Выведите название банка RR, BB или MM в зависимости от того, картой какого банка выгоднее оплатить эту покупку. А при равенстве суммы возврата — название банка, определённого в условии задачи. Помогите плез

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

Ответ:
var
a,x,b,c: real;
begin
write('Введите стоимость покупки = ');
readln(x);
a := x/100;
a := Trunc(a);
a := a*5;
b := x/50;
b := Trunc(b);
b := b*2;
c := x*0.03;
if (a>b)and (a>c)
then
writeln('RP')
else
if (b>a) and (b>c)
then
writeln('BB')
else
if (c>a) and (c>b)
then
writeln('MM')
else
writeln('Суммы равны, Алена выбирает <MM>')
end.



Давайте решим эту задачу пошагово. Мы можем вычислить суммы возврата для каждой карты и выбрать наилучший вариант.
- Найдем суммы возврата для каждой карты:
- Банк RR: 5 рублей за каждые полные 100 рублей. Это означает, что возврат составит 5 рублей при покупке на 100 рублей, 10 рублей при покупке на 200 рублей и т.д.
- Банк BB: 2 рубля за каждые 50 рублей. Возврат будет 2 рубля при покупке на 50 рублей, 4 рубля при покупке на 100 рублей и т.д.
- Банк ММ: 3% от полной стоимости покупки. Возврат составит 3 рубля при покупке на 100 рублей, 5 рублей 97 копеек при покупке на 199 рублей и т.д.
- Теперь определим, какой возврат каждая карта предоставляет для суммы покупки S:
- Банк RR: возврат = (S // 100) * 5 (целочисленное деление, чтобы получить количество полных 100 рублей и умножить на 5 рублей).
- Банк BB: возврат = (S // 50) * 2 (целочисленное деление, чтобы получить количество полных 50 рублей и умножить на 2 рубля).
- Банк ММ: возврат = S * 0.03 (просто умножаем сумму на 0.03 для получения 3%).
- Найдем максимальный возврат и определим, какой банк предоставляет этот возврат:
- Максимальный возврат = max(возврат Банк RR, возврат Банк BB, возврат Банк ММ).
- Вернем название банка, который предоставляет максимальный возврат:
- Если максимальный возврат равен возврату Банк RR, вывести "RR".
- Если максимальный возврат равен возврату Банк BB, вывести "BB".
- Если максимальный возврат равен возврату Банк ММ, вывести "MM".
Вот Python код, решающий эту задачу:
pythondef calculate_cashback(S):
# Вычисляем возврат для каждой карты
cashback_RR = (S // 100) * 5
cashback_BB = (S // 50) * 2
cashback_MM = round(S * 0.03, 2) # Округляем до двух знаков после запятой
# Находим максимальный возврат
max_cashback = max(cashback_RR, cashback_BB, cashback_MM)
# Возвращаем название банка с максимальным возвратом
if max_cashback == cashback_RR:
return "RR"
elif max_cashback == cashback_BB:
return "BB"
else:
return "MM"
# Ввод стоимости покупки S
S = int(input())
# Вызываем функцию и выводим результат
print(calculate_cashback(S))
Теперь вы можете ввести стоимость покупки, и программа выдаст название банка, с которого лучше всего оплатить эту покупку, чтобы получить максимальный cashback.


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