Bos saya perlu tahu berapa lama untuk menambahkan dua bilangan bulat. Tapi, saya tidak suka bekerja di akhir pekan, dan saya pikir wajar kalau kode saya juga tidak. Masalahnya adalah, bos adalah orang yang menuntut dan berpikir saya harus memasukkan dari waktu ke waktu untuk memastikan waktu yang dibutuhkan tetap sama, dan saya tahu dia akan memeriksa apakah kodenya berfungsi dengan baik.
Bisakah Anda menulis kepada saya program singkat yang:
- Menerima dua bilangan bulat, dan mengembalikan hasil penambahan yang benar dan berapa lama waktu yang diperlukan untuk melakukan penambahan - waktu ini harus masuk akal dan didasarkan pada runtime kode. Namun, jika Anda perlu menyelinap beberapa operasi antara kode waktunya yang membuatnya berjalan sedikit lebih lama dari seharusnya ini diizinkan. Namun Anda tidak bisa hanya menampilkan waktu palsu.
- Tidak bekerja pada akhir pekan di kode waktu setempat (tidak bisa hanya mengembalikan hasil yang salah, kode perlu rusak, kesalahan, atau gagal dieksekusi)
- Tidak segera jelas mengapa itu tidak bekerja pada akhir pekan
Saya tahu kriteria pertama agak aneh, tapi saya ingin memastikan orang bisa mengimpor perpustakaan tanggal / waktu jika diperlukan, tanpa menimbulkan kecurigaan untuk kriteria 3. Namun, saya yakin ada beberapa orang pintar, jadi -10 karakter untuk siapa pun yang dapat melakukan ini, tanpa menggunakan fungsi kalender dari pustaka tanggal standar
Mengenai 'perpustakaan tanggal / waktu standar'
Contoh pustaka datetime standar termasuk python datetime
, date
pustaka objek javascript , java.util.Date
dan sejenisnya. Fungsi untuk menghitung timedeltas untuk dieksekusi seperti timeit
modul ular sanca tidak akan melanggar criteia ini karena bos mengharapkan kode untuk diatur waktunya. Dalam beberapa kasus, pustaka-pustaka ini perlu diimpor untuk mengakses fungsi waktu apa pun , sehingga diizinkan untuk memanggil fungsi yang mengembalikan waktu sejak dimulainya zaman saat ini sebagai bilangan bulat, tetapi fungsi kalender yang mengembalikan objek waktu terstruktur yang dapat memberikan objek terpisah jam, hari, dll ... tidak diperbolehkan.
sunting: Mengenai pertanyaan Dan04, kode harus memenuhi 4 kriteria ini tentang kapan akan berfungsi atau tidak. Anda juga harus menjelaskan bagaimana kode Anda memeriksa waktu, karena slack pada Senin pagi / Jumat malam harus memberikan beberapa peluang untuk beberapa cara kreatif untuk mempersingkat kode.
- tidak boleh bekerja dari 00:00:00 Sabtu pagi hingga 23:59:59 Minggu malam.
- harus selalu bekerja mulai pukul 06:00:00 Senin pagi hingga 19:59:59 Jumat malam
- dapat bekerja atau tidak bekerja dari 00:00:00 Senin pagi hingga 5:59:59 Senin pagi
- bisa bekerja atau tidak bekerja mulai pukul 20:00:00 Jumat malam hingga 23:59:59 Jumat malam pagi
sunting2: Dengan segera jelas itu harus memenuhi 3 kriteria berikut:
- Tidak boleh memanggil fungsi yang disebut
DayOfWeek
(atau serupa), tanpa menggunakannya untuk menghitung waktu fungsi. - Tidak boleh menggunakan Sabtu atau Minggu atau singkatannya dalam bahasa Inggris.
- Tidak boleh menggunakan Sat atau Sun (atau dalam kasus huruf alternatif mereka) tanpa variabel bernama identik tidak digunakan untuk menentukan hari dalam seminggu atau ketika menentukan apakah kode harus dijalankan.