Sprawdzanie palindromu
Palindrom jest tekstem, który brzmi identycznie w kierunku przodnim i odwrotnym. Słowo „Madam“ jest łatwe do rozpoznania; natomiast fraza „A man, a plan, a canal: Panama“ wymaga chwili uwagi, ponieważ jej rozpoznanie zależy od ignorowania znaków interpunkcyjnych i przestrzeni między literami. Ten narzędzie standardyzuje wszystko, co wpiszesz – zmienia litery na małe, usuwa przestrzenie i znaki interpunkcyjne – oraz potwierdza, czy uzyskany tekst jest prawdziwym palindromem, pokazując przy tym odwrócony tekst obok niego.
W jaki sposób działa kontrola
-
1
Wklej tekst lub numer
Jedno słowo, fraza, długie zdanie lub ciąg cyfrowy.
-
2
Zastosowano normalizację.
Tekst jest zamieniany na małe litery, a wszystko, co nie jest literą ani cyfrą (spacje, znaki interpunkcyjne, symbole), zostaje usunięte. Każda litera Unicode jest zachowywana bez zmian, więc znaki diakrytyczne mają znaczenie, a pisma niełacińskie również działają.
-
3
Porównaj przewrócony i odwrócony sposób.
Jeśli uporządkowana ciągła odpowiada jej odwrotnej wersji, to jest palindromem.
-
4
Sprawdź wynik.
Narzędzie pokazuje zarówno źródłowe, jak i znormalizowane ciągu znaków w odwrotnym porządku w celu weryfikacji.
Przykłady klasycznych palindromów
| Tekst | Typ |
|---|---|
madam |
Jedno słowo |
level |
Jedno słowo |
racecar |
Jedno słowo |
A man, a plan, a canal: Panama |
fraza |
Was it a car or a cat I saw? |
Pytanie |
Never odd or even |
fraza |
12321 |
Numer |
Mr. Owl ate my metal worm |
Długa fraza |
kajak |
Polskie słowo |
Kategorie palindromów
- Palindromy znaków. Wartość domyślna to identyczne litery w kolejności od początku i od końca, bez uwzględniania spacji.
- Palindromy słowne. „I did, did I“ – każde słowo jest lustrzanie odwzorowane jako całość.
- Semordnilapy. Słowa, które po odwróceniu tworzą inne słowo: „stressed“ → „desserts“.
- Palindromy liczbowe. Dowolna sekwencja cyfr, która czyta się tak samo w obu kierunkach: 1991, 1881.
- Palindromy genomowe. Sekwencje DNA, w których dany obszar czyta się identycznie na obu niciach (istotne dla enzymów restrykcyjnych).
Programowanie kontroli
Podstawowa logika w pseudokodzie:
function isPalindrome(s):
normalized = lowercase(s)
normalized = removeAll(normalized, /[^\p{L}\p{N}]/u) // zachowaj litery i cyfry, dowolne pismo
return normalized == reverse(normalized)
To standardowa pytanie przygotowawcze do rozmowy rekrutacyjnej. Warianty obejmują przypadki specjalne: ignorowanie znaków łączących Unicode, obsługa ciągów pustych, obsługa emoji oraz uwzględnienie grup grafemów.
Najczęstsze warianty zasady
- Tryb rygorystyczny: liczy każdy znak, w tym spacje i znaki interpunkcyjne.
"aba"spełnia wymogi;"a man a plan"nie spełnia. - Tylko litery i cyfry: usuwa wszystkie pozostałe elementy. Takie podejście stosuje większość zwykłych narzędzi do sprawdzania palindromów.
- Normalizacja Unicode: niektóre narzędzia scalają formy z akcentami (NFKD) przed porównaniem, aby „café“ pasowało do „éfac“.
To narzędzie stosuje podejście oparte tylko na literach i cyfrach: zamienia tekst na małe litery, zachowuje każdą literę i cyfrę Unicode (dowolne pismo, w tym polskie znaki), a resztę usuwa. Nie scala akcentów, więc litera z akcentem musi pasować do tej samej litery. Nie ma osobnego przełącznika „tryb ścisły“.
Najczęściej zadawane pytania
Tak. Każdy pojedynczy znak jest bez problemu palindromem – odpowiada sobie po odwróceniu. Większość definicji pedagogicznych wymaga co najmniej trzech znaków, by była interesująca, natomiast definicja matematyczna dopuszcza długość równą 1 oraz nawet zero (string pusty).
Traktuj je jako ciągi cyfr. 121, 12321 i 1991 są palindromami liczbowymi. W przypadku dużych liczb całych sprawdź ich reprezentację jako ciągów cyfr; nie próbuj odwrotować liczby metodami arytmetycznymi, ponieważ wtedy utracono pierwsze zerowe.
W języku angielskim jednym z poważnych utworów jest „A Man, a Plan, a Canal: Panama“ oraz jego liczne rozszerzenia – palindromy wygenerowane komputerowo przez Petera Norviga liczą ponad 17 000 słów, choć żaden z nich nie spełnia wymogów gramatyki. Najdłuższym pojedynczym palindromem w języku angielskim wymienionym przez Guinnessa jest „tattarrattat“ (z powieści Ulyssesa autorstwa Joyce’a).
Tak, we wszystkich językach. Fiński wyraz „saippuakivikauppias“ (sprzedawca mydła w kamieniu, 19 liter) często jest uważany za najdłuższy naturalnie występujący jednowyrazowy palindrom w jakimkolwiek języku.
Powiązane narzędzia
Przewodnik po znakach korektorskich
Praktyczny przewodnik po 14 popularnych znakach tradycyjnej korekty anglojęzycznej, z oznaczeniami, przykładami i kontekstem norm.
Detektor klišejów
Wklej tekst, a detektor porówna go z listą popularnych angielskich frazesów i poda, ile razy pojawia się każda fraza.
Sprawdzarka haiku
Sprawdź, czy wiersz odpowiada strukturze haiku 5-7-5. Zobacz na bieżąco liczbę sylab w każdym wersie i werdykt: zaliczone lub niezaliczone.
Generator imion fantasy
Twórz imiona postaci fantasy w pięciu stylach: elf, krasnolud, ork, wróżka lub smoczy. Wybierz liczbę, a potem imiona, pełne imiona lub imiona z tytułami, do kampanii D&D, prozy i list NPC.
Z angielskiego na Pig Latin
Tłumacz z angielskiego na Pig Latin i z powrotem. Stosuje klasyczne przesunięcie grupy spółgłosek oraz zasadę sufiksu -ay.
Generator Prawda czy Wyzwanie
Losuj pytania prawdy i wyzwania z dopracowanej, rodzinnej puli: 15 pytań i 15 zadań, po angielsku. Tryb mieszany, same prawdy lub same wyzwania, do 20 naraz.
Narzędzie jest dostępne w innych językach
- Kiểm tra Palindrome [VI]
- Palindromskannare [SV]
- Palindrom-Prüfer [DE]
- Verificador de Palíndromos [ES]
- เครื่องมือตรวจสอบพาลินโดรม [TH]
- مُتحقق السلسلة المتقابلة [AR]
- 회문 검사기 [KO]
- Vérificateur de palindrome [FR]
- Pemeriksa Palindrom [ID]
- Palindroomcontrole [NL]
- 回文チェッカー [JA]
- Verificador de Palíndromos [PT]
- Palindrome Checker [EN]
- Controllore di Palindromi [IT]
- Проверитель палиндромов [RU]
- Palindrom Denetleyici [TR]
- 回文检查器 [ZH]