To pytanie pochodzi od gry, w którą lubię grać, gdy tkwię w długich spotkaniach telefonicznych.
Biorąc pod uwagę dowolne dwa razy z zegara 24-godzinnego (od 00:00 do 23:59), ile prawidłowych równań matematycznych można wygenerować za każdym razem pomiędzy tylko przy użyciu podstawowych operacji arytmetycznych?
Dane wejściowe: dwa czterocyfrowe ciągi znaków (bez dwukropka) reprezentujące prawidłowe czasy w cyklu 24 godzinnym.
Przykłady:
Dla danych wejściowych = 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.
Prawidłowe operacje to:
- dodanie
- odejmowanie
- mnożenie
- podział (zmiennoprzecinkowy)
- potęgowanie
- Factorial
Inne dopuszczalne symbole
- Zdanie wtrącone
- Znaki równości
Najkrótszy kod wygrywa.
Notatki
- Celem jest znalezienie liczby prawidłowych wyrażeń między dwa razy, a nie liczby, które zawierają poprawne wyrażenie.
- Dwa razy podane jako dane wejściowe są zawarte w zakresie czasów.
- Cyfry można grupować w dowolny sposób, więc „1223” może być „12 23” lub „1 2 23” lub „1 223” itd. Itd.
- Możesz użyć dowolnej liczby nawiasów.
- Możesz użyć więcej niż jednego
=
znaku. Na przykład czas11:11
ma prawidłowe wyrażenie1=1=1=1
. - Jeśli po raz pierwszy nastąpi chronologicznie po raz drugi, przedział czasu powinien się zawinąć, jakby przechodził do następnego dnia.
- Liczby muszą pozostać w oryginalnej kolejności - nie można ponownie porządkować cyfr.
- Podczas grupowania liczb, zero może być absolutnie pierwszą cyfrą, w takim przypadku są one ignorowane („0303” zgrupowane jako „03 03” to tylko dwie cyfry o wartości 3.)
- NIE WOLNO używać znaku minus jako jednoznacznej negacji. Dlatego też „12:01” NIE daje „1-2 = - (01)”, ale NIE „1-2 = 0-1”.
- NIE MOŻESZ dodawać kropek dziesiętnych do cyfr. Dlatego też „12:05” NIE produkuje „1/2 = 0,5”.
- Bez łączenia silni - po cyfrze może następować najwyżej jedna „!”, Nie więcej, w przeciwnym razie wiele razy miałoby nieskończone rozwiązania. Np .: „5!” jest ważny, ale „5 !!” nie jest poprawny.
0000 1300
należy wyprowadzić równania 0000
i 1300
uwzględnić je w obliczeniach?