Aller au contenu
🛠️ToolsShed

Number Palindrome Checker

Vérifier si un nombre est un palindrome, trouver les palindromes dans une plage et découvrir les nombres palindromiques intéressants.

12321
est un palindrome
Inversé: 12321

À propos de cet outil

Un palindrome numérique est un nombre qui se lit de la même façon en avant et en arrière, comme 121 ou 3443. Le Vérificateur de Palindromes Numériques vous permet de vérifier instantanément si n'importe quel nombre est un palindrome, d'explorer des plages de palindromes pour observer des motifs, et de découvrir les propriétés mathématiques fascinantes de ces nombres symétriques.

L'utilisation de l'outil est simple : entrez un seul nombre pour vérifier s'il s'agit d'un palindrome, ou spécifiez une plage pour trouver tous les palindromes qu'elle contient. Vous pouvez examiner comment les palindromes sont distribués dans différentes plages de nombres, des petits entiers aux valeurs plus grandes, et acquérir une compréhension de leur fréquence et de leurs caractéristiques mathématiques.

Cet outil est utile pour les étudiants apprenant la théorie des nombres, les mathématiciens explorant des motifs numériques et toute personne curieuse des propriétés étranges des nombres. Bien que le vérificateur fonctionne avec n'importe quel entier positif, les très grands nombres peuvent prendre un peu plus de temps à traiter, mais le principe fondamental reste le même : les véritables palindromes se reflètent parfaitement autour de leurs chiffres centraux.

Questions Fréquentes

Implémentation du Code

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.