
Вопрос задан 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.

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

Отвечает Лыткин Денис.
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.
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.



Отвечает Студенников Александр.
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.
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.


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

Информатика 558

Информатика 33

Информатика 74

Информатика 12

Информатика 10

Информатика 33

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