Мой босс должен знать, сколько нужно времени, чтобы сложить вместе два целых числа. Но я не люблю работать по выходным, и я думаю, это справедливо, что мой код тоже не работает. Проблема в том, что начальник - требовательный парень, и он считает, что я должен приложить какое-то время, чтобы убедиться, что время не изменилось, и я знаю, что он собирается проверить, правильно ли работает код.
Можете ли вы написать мне короткую программу, которая:
- Принимает два целых числа и возвращает правильный результат сложения и время, необходимое для выполнения сложения - это время должно быть правдоподобным и основываться на времени выполнения кода. Однако, если вам нужно прокрасться некоторые операции между временным кодом, который заставляет его работать немного дольше, чем это должно быть разрешено. Однако вы не можете просто вывести поддельное время.
- Не работает по выходным в кодах по местному времени (он не может просто вернуть неправильный результат, код должен сломаться, ошибиться или иным образом не выполнить)
- Не сразу понятно, почему это не работает по выходным
Я знаю, что первый критерий довольно странный, но я хотел убедиться, что люди могут импортировать библиотеки даты / времени, если это необходимо, не вызывая подозрений в отношении критерия 3. Однако я уверен, что есть некоторые умные люди, так что -10 символов для любой, кто может сделать это, не используя функции календаря из стандартных библиотек дат
Относительно «стандартных библиотек даты / времени»
Примеры стандартных библиотек даты и времени включают в себя питоны datetime
, date
библиотеку объектов javascript java.util.Date
и тому подобное. Функции для вычисления временных шкал для выполнения, такие как timeit
модуль pythons, не будут нарушать эту критерию, поскольку босс ожидает, что код будет синхронизирован. В некоторых случаях эти библиотеки нужно будет импортировать для доступа к любым функциям времени, поэтому разрешается вызывать функции, которые возвращают время с начала текущей эпохи, как целое число, но функции календаря, которые возвращают структурированные объекты даты и времени, которые могут давать отдельные часы, дни и т.д ... не допускаются.
редактировать: Что касается вопроса Dan04, код должен соответствовать этим 4 критериям относительно того, когда он будет работать или не работать. Вы также должны объяснить, как ваш код проверяет время, так как провал в понедельник утром / в пятницу должен дать некоторую возможность для некоторых творческих способов сократить код.
- не должен работать с 00:00:00 субботы до 23:59:59 в воскресенье вечером.
- всегда должен работать с 06:00:00 утра понедельника до 19:59:59 вечера пятницы
- может работать или не работать с 00:00:00 утра понедельника до 5:59:59 утра понедельника
- может работать или не работать с 20:00:00 в пятницу вечером до 23:59:59 в пятницу вечером
edit2: по очевидным он должен соответствовать следующим 3 критериям:
- Не должен вызывать функцию, которая вызвала
DayOfWeek
(или похожую), без использования ее для вычисления времени функции. - Не следует использовать субботу или воскресенье или их сокращения на английском языке.
- Не следует использовать Sat или Sun (или в их альтернативных буквенных регистрах) без идентичной именованной переменной, не используемой для определения дня недели или при определении, должен ли код выполняться.