Na łamigłówce SE występują tak zwane „problemy z zapałkami”, w których matematyka zapisywana jest w zapałkach i możesz przesuwać określoną liczbę z nich, aby uzyskać określoną właściwość.
W tym pytaniu rozważymy tylko liczby całkowite reprezentowane w 7-segmentowym formacie wyświetlania. Oto wszystkie 10 cyfr w tym formacie:
__ __ __ __ __ __ __ __
| | | __| __| |__| |__ |__ | |__| |__|
|__| | |__ __| | __| |__| | |__| __|
Każdy segment wyświetlacza to jeden „zapałka”, który można przesuwać niezależnie od reszty numeru. Zapałki są niepodzielne i niezniszczalne, nie można ich w żaden sposób złamać ani usunąć.
Powszechną łamigłówką jest pobranie liczby podanej w bazie 10 i próba uzyskania jak największej liczby w danej liczbie ruchów. Ruch uważa się za jeden ruch zapałki z dowolnego zajętego pola do dowolnego innego niezajętego pola. Zezwala się na tworzenie nowych cyfr po obu stronach numeru, na przykład 0 można przekształcić w 77, co daje 3 ruchy
__ __ __ __ __ __ __
| | | | | | | | |
|__| , __| , | , | |
Jednak nie możesz zamienić jednego pola na 2 ani tworzyć nowych pól między istniejącymi, na przykład zamieniając 4 na 11 w środku liczby lub wstawiając nowe cyfry między istniejącymi. Każdy ruch nie musi zawierać poprawnej liczby, ale końcowy wynik powinien być poprawną liczbą na podstawowym wyświetlaczu siedmiosegmentowym. Nie musisz używać każdego ruchu, jeśli nie chcesz. W przeciwieństwie do łamigłówek, jest to [tag: zamknięte pytanie], w odpowiedziach nie można używać żadnych operatorów (mnożenie, potęgowanie itp.) Ani stałych matematycznych (Pi, liczba Grahama itp.).
Zadanie
Napisz program lub funkcję, która pobiera liczbę i liczbę ruchów jako dane wejściowe i zwraca największą liczbę, jaką można wykonać przy tylu ruchach na pierwotnej liczbie.
To jest pytanie w golfa kodu, więc odpowiedzi będą liczone w bajtach, przy czym mniej bajtów będzie lepszych.
Przypadki testowe
n, moves -> max
0, 1 -> 9
0, 3 -> 77
0, 4 -> 111
8, 3 -> 74
220, 1 -> 320
220, 2 -> 520
220, 3 -> 7227
220, 4 -> 22111
220, 5 -> 32111
747, 1 -> 747
747, 2 -> 7171
747, 3 -> 7711
919, 2 -> 991