Nombres intouchables α
Un nombre intouchable est un entier positif qui ne peut pas être exprimé comme la somme de tous les diviseurs propres d'un entier positif (y compris le nombre intouchable lui-même).
Par exemple, le nombre 4 n'est pas intouchable car il est égal à la somme des diviseurs propres de 9: 1 + 3 = 4. Le nombre 5 est intouchable car il n'est pas la somme des diviseurs appropriés d'un quelconque entier positif. 5 = 1 + 4 est le seul moyen d'écrire 5 comme la somme d'entiers positifs distincts, y compris 1, mais si 4 divise un nombre, 2 le fait aussi, donc 1 + 4 ne peut pas être la somme de tous les diviseurs propres d'un nombre (puisque la liste des facteurs devrait contenir à la fois 4 et 2).
Le nombre 5 serait le seul nombre impair intouchable, mais cela n'a pas été prouvé: il découlerait d'une version légèrement plus forte de la conjecture de Goldbach. β
Il existe une infinité de nombres intouchables, un fait qui a été prouvé par Paul Erdős.
Quelques propriétés d'intouchables:
- Aucun intouchable n'est supérieur à un nombre premier
- Aucun intouchable est 3 supérieur à un nombre premier, sauf 5
- Aucun intouchable n'est un nombre parfait
- Jusqu'à présent, tous les intouchables à l'exception de 2 et 5 sont composites.
Objectif
Créez un programme ou une fonction qui prend un nombre naturel n
via des paramètres d'entrée ou de fonction standard et imprime les premiers n
nombres intouchables.
La sortie doit avoir une séparation entre les nombres, mais cela peut être n'importe quoi (par exemple, sauts de ligne, virgules, espaces, etc.).
Cela devrait pouvoir fonctionner au moins 1 <= n <= 8153
. Ceci est basé sur le fait que le fichier b fourni pour l'entrée OEIS γ monte n = 8153
.
Les failles standard sont interdites, comme d'habitude.
Exemple d'E / S
1 -> 2
2 -> 2, 5
4 -> 2, 5, 52, 88
10 -> 2, 5, 52, 88, 96, 120, 124, 146, 162, 188
8153 -> 2, 5, 52, 88, 96, 120, ..., ..., ..., 59996
Il s'agit de code-golf , donc le moins d'octets gagne.
α - Wikipédia , β - MathWorld , γ - OEIS
Pour une raison quelconque, cela a été marqué comme un double de la question «trouver des nombres semi-parfaits», mais les tâches sont complètement différentes. Dans ce cas, vous devez vous assurer qu'aucune somme de diviseurs parfaits d'un nombre naturel ne peut égaler un certain nombre.
Réponses:
Pyth, 21 octets
Avertissement: incroyablement lent. Test de fonctionnement et calendrier ci-dessous.
C'est fondamentalement aussi brutal que possible, teste les factorisations jusqu'au nombre de solitaires potentiels au carré plus un.
la source
C, 104 octets
Cela prendra quelques minutes pour y > 20, mais peu importe.
la source
Java, 310 octets
J'ai joué du golf aussi bien que possible, mais j'étais plus intéressé à m'assurer qu'il se déroulait dans un délai raisonnable. La version non vitrée est probablement plus intéressante
la source
Go, 396 octets
Pas vraiment joué au golf, mais il peut faire toute la gamme requise. Fonctionne en environ 20 minutes et nécessite environ 7 Go (indépendamment de n). Donne un tableau géant pour calculer la somme des diviseurs pour tous les nombres jusqu'à 59997 au carré.
la source