W tym wariancie układanki Cztery czwórki powinieneś użyć do x x's(i żadnej innej liczby) oraz zdefiniowanego zestawu operacji, aby osiągnąć każdą liczbę od 0 do 100. Jeśli x = 4wtedy możesz użyć do czterech, 4sto pytanie stanie się klasyczną czwórką puzzle (z wyjątkiem tego, że możesz użyć maksymalnie czterech 4 zamiast konieczności używania dokładnie czterech). Zakładamy 1 < x <= 9.
W tej wersji dozwolone są tylko następujące operatory:
- Dodawanie (
+), odejmowanie (-), mnożenie (*), dzielenie (/). Zauważ, że to prawdziwy podział, więc5/2 = 2.5. - Potęgowanie (np. 4 ^ 4), ponieważ nie wymagałoby to żadnych dodatkowych symboli, gdyby były pisane ręcznie.
- Możesz tworzyć nowe liczby całkowite, łącząc
xs. Np. Możesz zrobić liczby całkowite4, 44, 444, 4444.
Możesz także użyć nawiasów do grupowania numerów po prostu w celu kontrolowania kolejności oceny operatorów. Nie można na przykład łączyć nawiasów z konkatenacją jak w (4/4)(4/4) = (1)(1) = 11.
Nie można stosować żadnych innych symboli i obowiązuje standardowa kolejność operacji.
Twój program powinien wygenerować poprawne rozwiązanie dla danych wejściowych, jeśli istnieje xw zdefiniowanym zakresie oraz npomiędzy 0i 100włącznie. W przeciwnym razie twój kod musi wypisać coś, co wskaże, że takie rozwiązanie nie istnieje.
Musisz być w stanie uruchomić przesyłanie do ukończenia na swoim komputerze dla wszystkich wartości wejściowych xi ndozwolonego zakresu. To jest golf golfowy, więc wygrywa najkrótsze rozwiązanie.
To stare powiązane pytanie wykorzystuje więcej operatorów (i tylko 4), a zatem wszystkie liczby od 0 do 100 są rozwiązywalne, co nie będzie prawdziwe dla tego wyzwania.
Wejście i wyjście
Twój kod przyjmuje dwie liczby całkowite xi njako dane wejściowe i powinien wypisywać rozwiązanie (lub wskazanie, że nie ma rozwiązania) w dowolnym formacie czytelnym dla człowieka, który uważasz za dogodny. Dane wejściowe 4 6oznaczają na przykład: „Używając maksymalnie czterech 4, uczyń liczbę 6”. Więc jeśli wejście jest 4 6wyjściem może być (4+4)/4+4.