Форум программистов, компьютерный форум, киберфорум Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 30.09.2020
Сообщений: 7
1

Определить по времени установки пирога в духовку время, когда будет подходящее время для его извлечения.

30.09.2020, 10:40. Показов 1505. Ответов 6

Author24 — интернет-сервис помощи студентам
Пекарь
ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Пекарь считает, что для получения рождественского пирога идеальной симметричной формы его нужно вынимать из духовки в тот момент, когда часы показывают «палиндромное» время, которое читается одинаково слева-направо и справа-налево.

Напишите программу, которая определяет по времени установки пирога в духовку время, когда будет подходящее время для его извлечения.

Входные данные
В единственной строке входного файла записано время установки пирога в духовку в формате
HH:MM (00≤HH≤23, 00≤MM≤59).

Выходные данные
В единственную строку выходного файла нужно вывести ближайшее «палиндромное» время в формате HH:MM.

Примеры
входные данные
00:00
выходные данные
01:10
входные данные
12:34
выходные данные
13:31
входные данные
23:59
выходные данные
00:00
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.09.2020, 10:40
Ответы с готовыми решениями:

Определить по времени установки пирога в духовку время, когда будет подходящее время для его извлечения
Пекарь считает, что для получения рождественского пирога идеальной симетричной формы его нужно...

Определить время, когда пирог будет испечен
Помогите пожалуйста решить задачу. Заранее спасибо! Пекарь считает, что для получения...

Дано время A и время B. Определить промежуток времени между ними в минутах
С помощью оператора сканнер пожалуйста

Дано время A и время B. Определить промежуток времени между ними в часах
Дано время A и время B. Определить промежуток времени между ними в часах

6
3048 / 1668 / 656
Регистрация: 19.03.2019
Сообщений: 5,376
30.09.2020, 11:25 2
прямым перебором всех вариантов (всего минут в сутках 1440, но палиндромы намного чаще встречаются) легко решить, думаю, что 1 секунды для этого хватит.

алгоритм такой - добавляем по одной минуте и проверяем, получился ли "палиндром". Если получился - то выход и печать решения.

Добавлено через 23 минуты
PascalВыделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function IsPalindrom ( t : integer; var s : string) : boolean;
var i,h,m : integer;
begin
   h:= t div 60;
   m:= t mod 60;
   if h<9 then s := '0'+IntToStr(h) else s := IntToStr(h);
   if m<9 then s :=  s + ':0'+IntToStr(m) else s := s+':'+IntToStr(m);
   IsPalindrom := false;
   for i:=1 to 2 do
     if s[i]<>s[6-i] then Exit;
   IsPalindrom := true;
 
end;
 
var h, m, minutes : integer;
    s : string;
begin
  ReadLn(s); //  s := '23:59';
  h := StrToInt(Copy(s,1,2));
  m := StrToInt(Copy(s,4,2));
  minutes := h*60 + m;
  while true do begin
     Inc(minutes);
     if minutes > 24*60 then minutes := 0;
     if IsPalindrom(minutes,s) then begin WriteLn(s); Break end;
  end;
end.
таких значений всего 16
Кликните здесь для просмотра всего текста
00:00  01:10  02:20  03:30  04:40  05:50  10:01  11:11  12:21  13:31  14:41  15:51  20:02  21:12  22:22  23:32

если не хватает скорости, то легко можно замутить через таблицу, будет намного быстрее.
1
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
30.09.2020, 11:41 3
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
добавляем по одной минуте
Если число часов меньше числа минут, то прибавляем по 1 часу, и наоборот.
0
3048 / 1668 / 656
Регистрация: 19.03.2019
Сообщений: 5,376
30.09.2020, 13:29 4
Цитата Сообщение от Puporev Посмотреть сообщение
Если число часов меньше числа минут, то прибавляем по 1 часу, и наоборот.
ну, так сложно и неоднозначно.
например, расскажите что и как добавлять, если, например, на входе 16:17
или 13:50
0
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
30.09.2020, 13:36 5
PascalВыделить код
1
2
3
h:=strtoint(copy(s,1,2));//16
m:=strtoint(copy(s,4,2));//17
if h<m then while h<>m do inc(h);
0
5087 / 2658 / 2350
Регистрация: 10.12.2014
Сообщений: 10,054
30.09.2020, 13:36 6
Да, как сказал mr-Crocodile, можно перебирать только готовые значения:
PascalВыделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const
  p : array [0..15] of string[5] =
      ('00:00', '01:10', '02:20', '03:30', '04:40', '05:50', '10:01', '11:11',
       '12:21', '13:31', '14:41', '15:51', '20:02', '21:12', '22:22', '23:32');
  v : array [0..15] of integer =
      (0, 70, 140, 210, 280, 350, 601, 671, 741, 811, 881, 951, 1202, 1272, 1342, 1412);
var
  s : string;
  n, i, e : integer;
begin
  ReadLn(s);
  val(copy(s,1,2),n,e);
  val(copy(s,4,2),i,e);
  n := n * 60 + i;
  i := 0;
  while (i < 16) and (v[i] <= n) do inc(i);
  if i = 16 then i := 0;
  WriteLn(p[i]);
end.
1
3048 / 1668 / 656
Регистрация: 19.03.2019
Сообщений: 5,376
30.09.2020, 14:00 7
Цитата Сообщение от Puporev Посмотреть сообщение
if h<m then while h<>m do inc(h);
и что? получим неверное значение 17:17 ?
а если взять 13:50 или 23:59 ?
будем увеличивать, пока не получим неверное и несуществующее время 59:59 ?!
0
30.09.2020, 14:00
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2020, 14:00
Помогаю со студенческими работами здесь

Дано время A и время B. Определить промежуток времени между ними в минутах
Java Date Time API

Записи. Дано время t1 и время t2. Определить, сколько времени пройдет от t1 до t2
Дано время t1 и время t2. Гарантируется, что t1 и t2 -время одного дня, а также что t1&lt;t2....

Задается время суток. Определить, какой цвет светофора будет гореть в это время
1. Задается время суток. Определить, какой цвет светофора будет гореть в это время. 2. Дан номер...

Полиндромное время пирога
Суть в том, что повар ложит пирог в печь в Z время, а достать должен в ближайшее полиндромное....

В время установки драйвера выдает ошибку тогда, когда требует подключить кабель принтера в USВ
Переустановил винду и хочу использовать принтеру. В время установки драйвера выдает ошибку тогда,...

Как сделать, чтобы время обнулялось, когда будет отвечен последний вопрос?
Ребят как сделать чтобы время обнулялось когда будет отвечен последний вопрос программу скинул...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
NoSQL базы данных: что это такое и какие существуют
bytestream 22.01.2025
В современную эпоху цифровой трансформации объемы данных растут экспоненциально, создавая новые вызовы для традиционных систем управления базами данных. NoSQL (Not Only SQL) представляет собой. . .
Обновление исследования от команды MCM (январь 2025 г.)
Programma_Boinc 22.01.2025
Обновление исследования от команды MCM (январь 2025 г. ) Мы продолжаем изучать молекулярные сигнатуры, связанные с раком легких, с текущим фокусом на GCM1, факторе транскрипции, участвующем в. . .
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru