Вопрос задан 14.07.2023 в 18:40. Предмет Информатика. Спрашивает Норина Юлия.

Многие банки при оплате покупок их банковскими картами предлагают систему возврата части

потраченных средств, называемую 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
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Алим Дамир.

Ответ:

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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Давайте решим эту задачу пошагово. Мы можем вычислить суммы возврата для каждой карты и выбрать наилучший вариант.

  1. Найдем суммы возврата для каждой карты:
  • Банк RR: 5 рублей за каждые полные 100 рублей. Это означает, что возврат составит 5 рублей при покупке на 100 рублей, 10 рублей при покупке на 200 рублей и т.д.
  • Банк BB: 2 рубля за каждые 50 рублей. Возврат будет 2 рубля при покупке на 50 рублей, 4 рубля при покупке на 100 рублей и т.д.
  • Банк ММ: 3% от полной стоимости покупки. Возврат составит 3 рубля при покупке на 100 рублей, 5 рублей 97 копеек при покупке на 199 рублей и т.д.
  1. Теперь определим, какой возврат каждая карта предоставляет для суммы покупки S:
  • Банк RR: возврат = (S // 100) * 5 (целочисленное деление, чтобы получить количество полных 100 рублей и умножить на 5 рублей).
  • Банк BB: возврат = (S // 50) * 2 (целочисленное деление, чтобы получить количество полных 50 рублей и умножить на 2 рубля).
  • Банк ММ: возврат = S * 0.03 (просто умножаем сумму на 0.03 для получения 3%).
  1. Найдем максимальный возврат и определим, какой банк предоставляет этот возврат:
  • Максимальный возврат = max(возврат Банк RR, возврат Банк BB, возврат Банк ММ).
  1. Вернем название банка, который предоставляет максимальный возврат:
  • Если максимальный возврат равен возврату Банк RR, вывести "RR".
  • Если максимальный возврат равен возврату Банк BB, вывести "BB".
  • Если максимальный возврат равен возврату Банк ММ, вывести "MM".

Вот Python код, решающий эту задачу:

python
def 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

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

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

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

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