Pertanyaan ini diajukan kepada Anda oleh permainan yang ingin saya mainkan ketika terjebak dalam rapat telepon yang panjang.
Diberikan dua kali dari jam 24 jam (dari 00:00 hingga 23:59), berapa banyak persamaan matematika yang valid dapat dihasilkan dengan semua waktu di antara hanya menggunakan operasi aritmatika dasar?
Input: dua string empat digit (tanpa titik dua) mewakili waktu yang valid dalam siklus 24 jam.
Contoh:
Untuk input = 0000, 1300
03:26 produces: "0+3*2=6" and "03*2=6" etc.
11:10 produces quite a few, including: "1*1=1+0" and "1=1=1^0" and "1=11^0" etc.
12:24 produces: "1/2=2/4" and "1=(2*2)/4" etc.
Operasi yang valid adalah:
- tambahan
- pengurangan
- perkalian
- pembagian (floating point)
- eksponensial
- faktorial
Simbol yang diijinkan lainnya
- Tanda kurung
- Tanda-tanda yang sama
Kode terpendek menang.
Catatan
- Tujuannya adalah untuk menemukan jumlah ekspresi yang valid antara dua kali, bukan jumlah kali yang berisi ekspresi yang valid.
- Dua kali yang diberikan sebagai input termasuk dalam rentang waktu.
- Anda dapat mengelompokkan digit dengan cara apa pun yang memungkinkan, jadi "1223" dapat menjadi "12 23" atau "1 2 23" atau "1 223" dll. Dll.
- Anda dapat menggunakan sebanyak mungkin tanda kurung.
- Anda dapat menggunakan lebih dari satu
=
tanda. Misalnya, waktu11:11
memiliki ekspresi yang valid1=1=1=1
. - Jika pertama kali terjadi secara kronologis setelah kedua kalinya, rentang waktu akan membungkus seolah-olah menyeberang ke hari berikutnya.
- Angka-angka harus tetap dalam urutan aslinya - Anda tidak dapat memesan ulang digit.
- Saat mengelompokkan angka, angka nol mungkin benar-benar digit paling depan, dalam hal ini, angka tersebut diabaikan ("0303" dikelompokkan sebagai "03 03" hanya dua digit dengan nilai 3.)
- Anda TIDAK BISA menggunakan tanda minus sebagai negasi unary. Karena itu, "12:01" TIDAK menghasilkan "1-2 = - (01)", tetapi TIDAK menghasilkan "1-2 = 0-1".
- Anda TIDAK BISA menambahkan titik desimal ke angka. Karena itu, "12:05" TIDAK menghasilkan "1/2 = 0,5".
- Tidak ada rantai faktorial - satu digit dapat diikuti oleh paling banyak satu "!", Tidak lebih, jika tidak, berkali-kali akan memiliki solusi tak terbatas. Mis: "5!" valid tetapi "5 !!" tidak valid.
0000 1300
haruskah persamaan berasal 0000
dan 1300
dimasukkan dalam hitungan?