 
Многие банки при оплате покупок их банковскими картами предлагают систему возврата части
потраченных средств, называемую 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 в зависимости от того, картой какого банка выгоднее оплатить эту покупку. А при равенстве суммы возврата — название банка, определённого в условии задачи. Помогите плез 0
        0
         0
        0
    Ответы на вопрос
 
        Ответ:
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.
 0
                    0
                     0
                    0
                 
            Давайте решим эту задачу пошагово. Мы можем вычислить суммы возврата для каждой карты и выбрать наилучший вариант.
- Найдем суммы возврата для каждой карты:
- Банк 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.
 0
                    0
                     0
                    0
                Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			