Napisz funkcję, która przyjmuje liczbę jako argument i czyni ją palindromem, dodając minimalną liczbę cyfr. Numer będzie miał maksymalnie 100 cyfr.
Sample Inputs
12
122
232
2323
1012121
Sample Outputs
121
1221
232
23232
101212101
Napisz funkcję, która przyjmuje liczbę jako argument i czyni ją palindromem, dodając minimalną liczbę cyfr. Numer będzie miał maksymalnie 100 cyfr.
Sample Inputs
12
122
232
2323
1012121
Sample Outputs
121
1221
232
23232
101212101
Odpowiedzi:
J,
50,3226 znaków!na przykład
Jak to działa (przykład)
źródło
Perl, 32 znaki
Wymaga Perla 5.10 lub nowszego dla funkcji wyrażenia regularnego, ale nie ma specjalnego przełącznika wiersza poleceń.
Przykładowe użycie:
Używa rekurencyjnych rozszerzeń wyrażenia regularnego Perla 5.10, aby dopasować je do najdłuższego końcowego palindromu jako takiego:
Następnie zamienia go na siebie (
$&
) i dodaje$`
odwrotne ciągi zaczynające się od ( ).źródło
Brachylog 2, 8 bajtów, wyzwanie dotyczące postdatacji języka
Wypróbuj online! Pytanie wymaga funkcji, więc podałem ją; link TIO przyjmuje argument, który uruchamia funkcję jak pełny program.
Wyjaśnienie
źródło
Python, 88 znaków
źródło
Python (
10196)edycja: Skrócono na podstawie rozwiązania @ gnibbler
Oryginał:
źródło
n
.s=n
pomaga; Muszęs
być ciągiem znaków, aby móc zapisać indeksy, aby uzyskać zakresy cyfr. Jakie jest tam uzasadnienie?Python - 98 znaków
Na podstawie odpowiedzi Hoa :)
źródło
return(...).next()
że zwykle kosztuje to dodatkowy znak, ale po tym mogę zostawić miejscereturn
. Hoa i tak poprawił to, używając LC zamiast GEGolfscript - 32 znaki
źródło
Haskell, 85
Używając tego samego algorytmu, jak większość innych:
Przykłady z opisu problemu:
źródło
Ruby 1.9, 72 znaki
źródło
Rubinowy , 70 bajtów
Wypróbuj online!
Na podstawie odpowiedzi TY , z znakami zamiast .split, aby uzyskać 2 znaki. I jestem pewien, że jest sposób, aby wycisnąć jeszcze więcej> <
źródło
JavaScript (ES6),
145126 znakówSkomentowano:
źródło
Java, 174 bajty
Nie golfowany:
Mam wrażenie, że może być o wiele ciaśniej, ale nie od razu wiadomo, jak to zrobić. Funkcja zjada dużo miejsca, ale potrzebowałem go w dwóch miejscach.
Działa to na dowolny ciąg, nie tylko na liczby, i może mieć dowolną długość.
źródło
PHP, 64 bajty
Wypróbuj online!
źródło