В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
daravill1
daravill1
10.02.2023 16:48 •  Информатика

Давным-давно билет на одну поездку в метро стоил 15 рублей, билет на 10 поездок стоил 125 рублей, билет на 60 поездок стоил 440 рублей. пассажир планирует совершить n поездок. определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов — минимальна.

входные данные
программа получает на вход одно число n.

выходные данные
программа должна вывести три целых числа, равных необходимому количеству билетов на 1, на 10, на 60 поездок.

примеры
входные данные
36
выходные данные
0 0 1
входные данные
64
выходные данные
4 0 1

решить в python

Показать ответ
Ответ:
wagnercop06s12
wagnercop06s12
10.10.2019 16:20

//pascalabc.net

//версия 3.3, сборка 1634 (14.02.2018)

begin

  var (cost, t, k) : = (arr(15, 70, 125, 230, 440), arr(1, 5, 10, 20, 60), new integer[5]);

  var n : = readinteger('n-> ');

  for var i : = 4 downto 0 do

  begin

    k[i] : = n div t[i]; n : = n mod t[i];

  end;  

  if k[0] * cost[0] > = cost[1] then begin k[0] : = 0; inc(k[1]); end;

  if k[0] * cost[0] + k[1] * cost[1] > = cost[2] then 

  begin

    k[0] : = 0; k[1] : = 0; inc(k[2]);  

  end;

  if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] > = cost[3] then 

  begin

    k[0] : = 0; k[1] : = 0; k[2] : = 0; inc(k[3]);

  end;

  if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] + k[3] * cost[3] > = cost[4] then 

  begin

    k[0] : = 0; k[1] : = 0; k[2] : = 0; k[3] : = 0; inc(k[4]);  

  end;

 

  for var i : = 0 to 4 do writelnformat('{0} билет(ов)- {1} штук(а)', t[i], k[i]);

end.

пример(1):

n-> 37

1 билет(ов)- 0 штук(а)

5 билет(ов)- 0 штук(а)

10 билет(ов)- 0 штук(а)

20 билет(ов)- 0 штук(а)

60 билет(ов)- 1 штук(а)

пример(2):

n-> 35

1 билет(ов)- 0 штук(а)

5 билет(ов)- 1 штук(а)

10 билет(ов)- 1 штук(а)

20 билет(ов)- 1 штук(а)

60 билет(ов)- 0 штук(а)

подробнее - на -

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота