Schreiben Sie eine Funktion, die eine Zahl als Argument verwendet und durch Anhängen einer Mindestanzahl von Ziffern zu einem Palindrom macht. Die Nummer besteht aus maximal 100 Ziffern.
Sample Inputs
12
122
232
2323
1012121
Sample Outputs
121
1221
232
23232
101212101
Antworten:
J,
50,3226 Zeichen!z.B
Wie es funktioniert (am Beispiel)
quelle
Perl, 32 Zeichen
Benötigt Perl 5.10 oder höher für reguläre Ausdrücke, aber keinen speziellen Befehlszeilenschalter.
Beispielgebrauch:
Verwendet die rekursiven Regex-Erweiterungen von Perl 5.10, um dem längsten nachgestellten Palindrom als solchem zu entsprechen:
Es ersetzt es dann durch sich selbst (
$&
) und fügt die Zeichenfolge, die mit ($`
) begonnen wurde, in umgekehrter Reihenfolge an .quelle
Brachylog 2, 8 Bytes, Sprachnachstellung
Probieren Sie es online! In der Frage wird nach einer Funktion gefragt, daher habe ich eine angegeben. Die TIO-Verknüpfung verwendet ein Argument, das eine Funktion wie ein vollständiges Programm ausführt.
Erläuterung
quelle
Python, 88 Zeichen
quelle
Python (
10196)edit: Verkürzt basierend auf @ gnibblers Lösung
Original:
quelle
n
.s=n
hilft. Ich musss
eine Zeichenfolge sein, damit ich sie subskribieren kann, um Ziffernbereiche zu erhalten. Was ist die Begründung da?Python - 98 Zeichen
Basierend auf Hoas Antwort :)
quelle
return(...).next()
normalerweise schreiben, dass das ein extra Zeichen kosten würde, aber ich kann das Leerzeichen danach weglassenreturn
. Hoa hat wieder irgendwie auf sie verbessert , dass ein LC anstelle eines GE mitGolfscript - 32 Zeichen
quelle
Haskell, 85
Verwenden Sie den gleichen Algorithmus wie die meisten anderen:
Beispiele aus der Problembeschreibung:
quelle
Ruby 1,9, 72 Zeichen
quelle
Ruby , 70 Bytes
Probieren Sie es online!
Basierend auf der Antwort von YOU , mit Zeichen anstelle von .split '', um 2 Zeichen zu erhalten. Und ich bin mir sicher, dass es einen Weg gibt, mehr zu tun> <
quelle
JavaScript (ES6),
145126 ZeichenKommentiert:
quelle
Java, 174 Bytes
Ungolfed:
Ich habe das Gefühl, es könnte viel enger sein, aber es ist mir nicht sofort klar, wie. Die Funktion braucht viel Platz, aber ich brauchte es an zwei Stellen.
Dies funktioniert für jede Zeichenfolge, nicht nur für Zahlen, und kann beliebig lang sein.
quelle
PHP, 64 Bytes
Probieren Sie es online!
quelle