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)
Jeu du carré rouge modifié, quel niveau atteindrez-vous ? http://squared.go.yj.fr