Вопрос задан 03.01.2019 в 03:13. Предмет Информатика. Спрашивает Гагарин Васик.

FPCБилет на одну поездку в метро стоит 15 рублей, билет на 10 поездок стоит 125 рублей, билет на 60

поездок стоит 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна.Формат входных данных Дано одно число n - количество поездок.Формат выходных данныхВыведите три целых числа, равные необходимому количеству билетов на 1, на 10, на 60 поездок.ПримерыВходные данные129Выходные данные0 1 2расбор.....Целая часть от деления n на 60 будет являтся количеством билетов на 60 поездок. Однако если остаток, полученый в результате этого деления, будет больше или равен 35, то "выгоднее" купить ешё 1 билет на 60 поездок, чем 3 на 10 и 5 на 1. Если остаток меньше 35 - берем целую часть от его деления на 10 - получим кол-во белетов на 10 поездок. Если остаток от этого деления равен 9, то "выгоднее" купить ещё 1 билет на 10 поездок, чем 9 на 1. Если остаток меньше 9 - то этот остаток и будет являться кол-вом билетов на 1 поездку.вопрос...что не так с моим кодом?var l,k,j,t,m,p,s,n:longint; begin read(n); l:=n div 60; k:=n mod 60; j:=k div 10; t:=k mod 10; if l>=1 then s:=l; if k>=35 then s:=l+1 else if k<35 then p:=j; if t=9 then p:=j+1 else if t<9 then m:=t; writeln(m,' ',p,' ',s) end.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лыткин Денис.
Var
l,k,j,t,n1,m,p,s,n:longint;
begin
read(n);
l:=n div 60;
k:=n mod 60;  
if k>34 then
l:=l+1
else
begin
j:=k div 10;  
t:=k mod 10;  
if t=9 then
j:=j+1
else
 n1:=t;
end;
writeln(n1,' ',j,' ',l);
end.
0 0
Отвечает Студенников Александр.
Var  n,i : integer; 
    a : array [1..3] of integer;
 begin
Read(n);
 While n>=35 do 
  begin
  inc(a[3]); 
 n:=n-60; 
end;
 While n>=9 do  
 begin 
 inc(a[2]);
  n:=n-10;
  end;
 While n>=1 do 
  begin 
 inc(a[1]);
  dec(n);
  end;
 for i:=1 to 3 do 
 Write(a[i], ' ');
 end.
0 0

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

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

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