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

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

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

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

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

решить в python

Показать ответ
Ответ:
Pandochkalove7
Pandochkalove7
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-бота