Мій начальник повинен знати, скільки часу потрібно скласти два цілих числа. Але я не люблю працювати у вихідні дні, і я вважаю, що це справедливо, що і мій код. Проблема полягає в тому, що начальник - вимогливий хлопець і думає, що я повинен прийти вчасно, щоб переконатися, що час, який він займає, залишається таким же, і я знаю, що він перевірить, чи працює код правильно.
Чи можете ви написати мені коротку програму, яка:
- Приймає два цілих числа та повертає правильний результат додавання та кількість разів, скільки потрібно часу на виконання додавання - цей час повинен бути правдоподібним і базуватися на час виконання коду. Однак якщо вам потрібно пропустити деякі операції між тимчасовим кодом, який змушує його працювати трохи довше, ніж слід, це дозволено. Однак ви не можете просто вивести фальшивий час.
- Не працює у вихідні дні в кодах за місцевим часом (він не може просто повернути неправильний результат, код потрібно зламати, помилитися чи не виконати іншим чином)
- Не відразу очевидно, чому це не працює у вихідні дні
Я знаю, що перший критерій є дивним, але я хотів переконатися, що люди можуть імпортувати бібліотеки дати / часу, якщо це потрібно, не викликаючи підозр щодо критеріїв 3. Однак, я впевнений, що є кілька розумних людей, так -10 символів кожен, хто може це зробити, не використовуючи функції календаря зі стандартних бібліотек дат
Щодо "стандартних бібліотек дати / часу"
Приклади стандартних бібліотек дат включають пітони datetime
, date
бібліотеку об'єктів javascript java.util.Date
тощо. Функції для обчислення тиммеделей для виконання, такі як timeit
модуль пітонів , не порушуватимуть цю критерию, оскільки начальник очікує, що код повинен бути приурочений. У деяких випадках ці бібліотеки потрібно буде імпортувати для доступу до будь-яких часових функцій, тому дозволено викликати функції, які повертають час з початку поточної епохи як ціле число, але функції календаря, які повертають структуровані об'єкти дати, які можуть давати окремо години, дні тощо тощо не допускаються.
редагувати: Що стосується питання 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 (або в їхніх альтернативних випадках), не використовуючи ідентичну змінну, що не називається, що не використовується для визначення дня тижня або при визначенні того, чи повинен працювати код.