Saltar al contenido
🛠️ToolsShed

Number Palindrome Checker

Verifica si un número es un palíndromo, encuentra palíndromos en un rango y descubre números capicúas interesantes.

12321
es un palíndromo
Invertido: 12321

Acerca de esta herramienta

Un palíndromo numérico es un número que se lee igual en ambas direcciones, como 121 o 3443. El Verificador de Palíndromos Numéricos te permite verificar al instante si cualquier número es un palíndromo, explorar rangos de palíndromos para ver patrones, y descubrir propiedades matemáticas fascinantes de estos números simétricos.

Usar la herramienta es muy simple: ingresa un solo número para verificar si es un palíndromo, o especifica un rango para encontrar todos los palíndromos dentro de él. Puedes examinar cómo se distribuyen los palíndromos en diferentes rangos de números, desde enteros pequeños hasta valores más grandes, y obtener información sobre su frecuencia y características matemáticas.

Esta herramienta es útil para estudiantes que aprenden teoría de números, matemáticos que exploran patrones numéricos, y cualquier persona curiosa acerca de las propiedades singulares de los números. Aunque el verificador funciona con cualquier entero positivo, los números muy grandes pueden tardar un poco más en procesarse, pero el principio fundamental sigue siendo el mismo: los verdaderos palíndromos se reflejan perfectamente alrededor de sus dígitos centrales.

Preguntas Frecuentes

Implementación de Código

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-palindrome

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.