Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un programme pour tester une conjecture

Sur les nombres premiers

Sujet résolu
    27 décembre 2023 à 14:25:12

    Bonjour et bonnes fêtes de fin d'année,

    J'ai formulé une conjecture en maths qui semble intéressante :

    Conjecture : Soit phi(n) l'indicatrice d'Euler, sigma(n) la somme des diviseurs de n et n un entier naturel > 1.

    Si phi(|1-sigma(sigma(n))|)+1 est un nombre se finissant par 19, 39, 59, 79 ou 99 alors ce nombre est obligatoirement premier.

    Un exemple : soit n=100560228 on obtient phi(|1-sigma(sigma(100560228 ))|)+1 qui est égal à 767120639. 767120639 est donc bien premier car finissant par 39.

    Le programme Python : c'est résolu, il n'y a pas de contre exemple parmi les 10 000 premiers nombres.

    Voici le code :

    def phi(n):
        result = n
        p = 2
        while p * p <= n:
            if n % p == 0:
                while n % p == 0:
                    n //= p
                result -= result // p
            p += 1
        if n > 1:
            result -= result // n
        return result
    
    def sigma(n):
        result = 1
        p = 2
        while p * p <= n:
            if n % p == 0:
                count = 0
                while n % p == 0:
                    n //= p
                    count += 1
                result *= (p ** (count + 1) - 1) // (p - 1)
            p += 1
        if n > 1:
            result *= (n + 1)
        return result
    
    # Trouver x pour les 10 000 premiers nombres
    x_values = []
    for i in range(2, 10002):  # On commence à 2 car x doit être > 1
        x = phi(abs(1 - sigma(sigma(i))))
        x_values.append(x)
    
    # Vérifier si x est non premier et se termine par 19, 39, 59, 79 ou 99
    results = []
    for x in x_values:
        if x not in [2, 3, 5, 7]:  # Vérifier si x n'est pas premier
            if str(x)[-2:] in ['19', '39', '59', '79', '99']:  # Vérifier les deux derniers chiffres
                results.append(x)
    
    print("Nombres non premiers se terminant par 19, 39, 59, 79 ou 99 parmi les 10 000 premiers x:", results)



    -
    Edité par Craw 27 décembre 2023 à 17:16:23

    • Partager sur Facebook
    • Partager sur Twitter

    Jeu du carré rouge modifié, quel niveau atteindrez-vous ? http://squared.go.yj.fr

    Un programme pour tester une conjecture

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown