Number Palindrome Checker
Überprüfe, ob eine Zahl ein Palindrom ist, finde Palindrome in einem Bereich und entdecke interessante Palindrom-Zahlen.
Über dieses Tool
Ein Zahlpalindrom ist eine Zahl, die vorwärts und rückwärts gleich aussieht, wie 121 oder 3443. Der Zahlpalindrom-Checker ermöglicht es dir, sofort zu überprüfen, ob eine beliebige Zahl ein Palindrom ist, Bereiche von Palindromen zu erkunden, um Muster zu erkennen, und faszinierende mathematische Eigenschaften dieser symmetrischen Zahlen zu entdecken.
Die Verwendung des Tools ist unkompliziert: Geben Sie eine einzelne Zahl ein, um zu überprüfen, ob es sich um ein Palindrom handelt, oder geben Sie einen Bereich an, um alle Palindrome darin zu finden. Sie können untersuchen, wie Palindrome in verschiedenen Zahlbereichen verteilt sind, von kleinen ganzen Zahlen bis zu größeren Werten, und Einblicke in ihre Häufigkeit und mathematischen Eigenschaften gewinnen.
Dieses Tool ist nützlich für Studenten, die Zahlentheorie lernen, Mathematiker, die numerische Muster erforschen, und jeden, der neugierig auf die eigenartigen Eigenschaften von Zahlen ist. Während der Checker mit jeder positiven ganzen Zahl funktioniert, können sehr große Zahlen etwas länger verarbeitet werden, aber das grundlegende Prinzip bleibt gleich: Echte Palindrome spiegeln sich perfekt um ihre mittleren Ziffern.
Häufig gestellte Fragen
Code-Implementierung
def is_palindrome(n) -> bool:
"""Check if a number (int or string) is a palindrome."""
s = str(n)
return s == s[::-1]
def next_palindrome(n: int) -> int:
"""Find the next palindrome after n."""
n += 1
while not is_palindrome(n):
n += 1
return n
def find_palindromes_in_range(start: int, end: int) -> list[int]:
"""Find all palindrome numbers in range [start, end]."""
return [i for i in range(start, end + 1) if is_palindrome(i)]
# Check specific numbers
for num in [12321, 12345, 99999, 100001, 1234321]:
result = "✓ palindrome" if is_palindrome(num) else "✗ not palindrome"
print(f"{num}: {result}")
# Find palindromes in range
print("\nPalindromes 100-200:", find_palindromes_in_range(100, 200))
print("Next palindrome after 999:", next_palindrome(999))
print("Next palindrome after 12345:", next_palindrome(12345))
# Lychrel number check (reverse and add)
def reverse_and_add(n: int, steps: int = 50) -> tuple[bool, int]:
for _ in range(steps):
n += int(str(n)[::-1])
if is_palindrome(n):
return True, n
return False, n
print("\n196 Lychrel test:", reverse_and_add(196, 100)[0]) # Famous non-palindromeComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.