Wszyscy to zrobiliśmy, no cóż, może nie, ale tworzenie własnego obcego języka i systemu numeracji jest podstawowym elementem pisania fantasy, ale przede wszystkim jest zabawą.
Zadanie jest proste, weź dwa dane wejściowe:
Uporządkowana lista zawiera 10 [dziesięć] unikatowych „cyfr” (dowolnych drukowalnych znaków ASCII) i interpretuje je w kolejności jako wartości 0, 1, 2, 3, ..., 9
+ Istnieją wyjątki od tego, co może być cyfrą tutaj. Operatory arytmetyczne (+, -, *, /), nawiasy i spacje nie mogą być używane jako jedna z cyfr.
Problem arytmetyczny z wykorzystaniem tylko tych „cyfr”
I wyprowadza równoważną liczbę całkowitą w podanej formie.
Oto przykład:
INPUT
abcdefghij
bcd + efg + hij
OUTPUT
bdgi
W tym przykładzie lista wejściowa (możesz wybrać, w jakiej formie się pojawi) „abcdefghij” odpowiada „0123456789”, podobnie jak „hjkloiwdfp” również odpowiada 1 do 1 z „0123456789”, gdzie zamiast „a” kojarzy się z zero, „h” robi. Arytmetyka po „tłumaczy” przekłada się na 123 + 456 + 789, co równa się 1368. Musi to zostać wyprowadzone w postaci, w jakiej ją otrzymaliśmy, więc b (co oznacza 1) d (dla 2) g (dla 6) i i (dla 8).
PRZYPADKI TESTOWE
abcdefghij
abc + def - ghij
-gedc
qwertyuiop
qwerty / uiop
e
%y83l;[=9|
(83l * 9) + 8%
y9|8
WIĘCEJ ZASAD
- Standardowe luki są zabronione!
- To jest kod golfowy, więc wygrywa najkrótsza odpowiedź w bajtach.
- Musi to być pełny program lub funkcja przyjmująca wejścia i wyjścia w dowolnym formacie, który najbardziej Ci odpowiada. (Po prostu nie można dodać dodatkowych informacji do danych wejściowych, tylko „cyfry” i wyrażenie.
- Używaj dowolnego języka (o ile jest zgodny z innymi zasadami)
1dla 5/3, a nie 2, ze względu na podział całkowitej (brak zaokrąglenia). Nie unieważnia to wyzwania, ale może być konieczne dopuszczenie różnych akceptowalnych odpowiedzi dla tego samego przypadku testowego (zobacz moją odpowiedź T-SQL poniżej).
q.ioiopewioyetqorw.... Jeśli tak, jakie zaokrąglenie należy zastosować?