Mi jefe necesita saber cuánto tiempo lleva sumar dos enteros. Pero no me gusta trabajar los fines de semana, y creo que es justo que mi código tampoco. El problema es que el jefe es un tipo exigente y cree que debería dedicar más tiempo para asegurarme de que el tiempo que lleva se mantenga igual, y sé que va a verificar si el código funciona correctamente.
¿Me puede escribir un programa corto que:
- Acepta dos enteros y devuelve el resultado correcto de la suma y multiplica el tiempo que lleva realizar la suma; esta vez debe ser plausible y basarse en el tiempo de ejecución del código. Sin embargo, si necesita escabullirse algunas operaciones entre el código cronometrado que hace que se ejecute un poco más de lo que debería, esto está permitido. Sin embargo, no puede simplemente emitir un tiempo falso.
- No funciona los fines de semana en los códigos. de hora local (no puede devolver un resultado incorrecto, el código debe romperse, fallar o no ejecutarse)
- No es obvio de inmediato por qué no funciona los fines de semana
Sé que el primer criterio es un poco extraño, pero quería asegurarme de que las personas pudieran importar bibliotecas de fecha / hora si fuera necesario, sin levantar sospechas sobre el criterio 3. Sin embargo, estoy seguro de que hay algunas personas inteligentes, por lo que hay que usar 10 caracteres. cualquiera que pueda hacer esto, sin usar funciones de calendario de bibliotecas de fechas estándar
Con respecto a las 'bibliotecas estándar de fecha / hora'
Los ejemplos de bibliotecas estándar de fecha y hora incluyen pitones datetime
, date
biblioteca de objetos javascript java.util.Date
y similares. Las funciones para calcular timedeltas para la ejecución, como el timeit
módulo de pitones , no violarían estos criterios, ya que el jefe espera que el código se cronometre. En algunos casos, estas bibliotecas deberán importarse para acceder a las funciones de tiempo, por lo que está permitido llamar a funciones que devuelven el tiempo desde el inicio de la época actual como un entero, pero las funciones de calendario que devuelven objetos estructurados de fecha y hora que pueden proporcionar horas, días, etc ... no están permitidos.
editar: Con respecto a la pregunta de Dan04, el código debe cumplir con estos 4 criterios sobre cuándo funcionará o no. También debe explicar cómo su código verifica la hora, ya que la holgura del lunes por la mañana / viernes por la noche debería brindar alguna oportunidad para algunas formas creativas de acortar el código.
- no debe funcionar desde las 00:00:00 del sábado por la mañana hasta las 23:59:59 del domingo por la noche.
- debe trabajar siempre desde las 06:00:00 del lunes por la mañana hasta las 19:59:59 del viernes por la noche
- puede funcionar o no desde las 00:00:00 del lunes por la mañana hasta las 5:59:59 del lunes por la mañana
- puede funcionar o no desde las 20:00:00 del viernes por la noche hasta las 23:59:59 del viernes por la mañana
edit2: Por obvio inmediatamente debe cumplir con los siguientes 3 criterios:
- No debe llamar a una función que llamó
DayOfWeek
(o similar), sin usarla para calcular el tiempo de la función. - No debe usar sábado o domingo ni sus abreviaturas en inglés.
- No debe usar Sat o Sun (o en sus mayúsculas y minúsculas) sin una variable identificada idéntica que no se usa para determinar el día de la semana o al determinar si el código debe ejecutarse.