Mon patron a besoin de savoir combien de temps il faut pour additionner deux entiers. Mais, je n'aime pas travailler le week-end, et je pense qu'il est juste que mon code ne le soit pas non plus. Le problème est que le patron est un gars exigeant et pense que je devrais y mettre du temps pour m'assurer que le temps qu'il faut reste le même, et je sais qu'il va vérifier si le code fonctionne correctement.
Pouvez-vous m'écrire un petit programme qui:
- Accepte deux nombres entiers et retourne le résultat correct de l'addition et indique combien de temps il faut pour effectuer l'ajout - cette fois doit être plausible et basée sur l'exécution du code. Cependant, si vous avez besoin de faufiler certaines opérations entre le code temporisé qui le fait fonctionner un peu plus longtemps que prévu, cela est autorisé. Cependant, vous ne pouvez pas simplement afficher un faux temps.
- Ne fonctionne pas le week-end dans les codes en heure locale (il ne peut pas simplement renvoyer un résultat erroné, le code doit se casser, faire une erreur ou échouer autrement)
- N'est pas immédiatement évident pourquoi cela ne fonctionne pas le week-end
Je sais que le premier critère est un peu bizarre, mais je voulais m'assurer que les gens pouvaient importer des bibliothèques de date / heure si nécessaire, sans élever la suspicion pour le critère 3. Cependant, je suis sûr qu'il y a des gens intelligents, donc -10 caractères à toute personne qui peut le faire, sans utiliser les fonctions de calendrier des bibliothèques de dates standard
Concernant les «bibliothèques standard de date / heure»
Des exemples de bibliothèques de datetime standard incluent les pythons datetime
, la date
bibliothèque d'objets javascript java.util.Date
et similaires. Les fonctions de calcul des timedeltas à exécuter telles que le timeit
module pythons ne violeraient pas ces critères car le patron s'attend à ce que le code soit chronométré. Dans certains cas, ces bibliothèques devront être importées pour accéder à toutes les fonctions de temps, de sorte qu'il est autorisé d'appeler des fonctions qui renvoient l'heure depuis le début de l'époque actuelle sous forme d'entier, mais les fonctions de calendrier qui renvoient des objets datetime structurés qui peuvent donner des informations distinctes les heures, les jours, etc ... ne sont pas autorisés.
edit: Concernant la question de Dan04, le code doit répondre à ces 4 critères concernant quand il fonctionnera ou ne fonctionnera pas. Vous devez également expliquer comment votre code vérifie l'heure, car le relâchement du lundi matin / vendredi soir devrait donner l'occasion de trouver des moyens créatifs de raccourcir le code.
- ne doit pas travailler de 00:00:00 samedi matin à 23:59:59 dimanche soir.
- doit toujours travailler du 06:00:00 du lundi matin au 19:59:59 du vendredi soir
- peut travailler ou ne pas fonctionner de 00:00:00 lundi matin à 5:59:59 lundi matin
- peut travailler ou ne pas fonctionner de 20:00:00 vendredi soir à 23:59:59 vendredi soir matin
edit2: Par immédiatement évident, il doit répondre aux 3 critères suivants:
- Ne doit pas appeler une fonction qui a appelé
DayOfWeek
(ou similaire), sans l'utiliser pour calculer l'heure de la fonction. - Ne doit pas utiliser samedi ou dimanche ou leurs abréviations en anglais.
- Ne doit pas utiliser Sat ou Sun (ou dans leurs majuscules) sans une variable nommée identique non utilisée pour déterminer le jour de la semaine ou pour déterminer si le code doit s'exécuter.