Comment les repérer
Prenez un entier positif k. Trouvez ses diviseurs . Trouvez les facteurs premiers distincts de chaque diviseur . Additionnez tous ces facteurs ensemble. Si ce nombre (somme) est un diviseur de k ( si la somme divise k ) alors, ce nombre k, est un nombre BIU
Exemples
Prenons le nombre 54
Trouver tous les diviseurs: [1, 2, 3, 6, 9, 18, 27, 54]
Trouver les facteurs premiers distincts de chaque diviseur
REMARQUE: Pour le cas de 1
nous prenons comme facteur premier distinct1
1 -> 1
2 -> 2
3 -> 3
6 -> 2,3
9 -> 3
18 -> 2,3
27 -> 3
54 -> 2,3
Maintenant, nous prenons la somme de tous ces facteurs premiers
1+2+3+2+3+3+2+3+3+2+3=27
27
divise 54 (ne laisse aucun reste)
Donc, 54
est un nombre BIU .
Un autre exemple (rapide) pour les k=55
diviseurs: [1,5,11,55]
Somme de facteurs premiers distincts: 1+5+11+5+11=33
33
n'est PAS un diviseur de 55, c'est pourquoi ce 55
n'est PAS un nombre BIU .
Numéros BIU
Voici les 20 premiers d'entre eux:
1,21,54,290,735,1428,1485,1652,2262,2376,2580,2838,2862,3003,3875,4221,4745, 5525,6750,7050 ...
mais cette liste continue et il y a beaucoup de numéros BIU qui attendent d'être découverts par vous!
Le défi
Étant donné un entier n>0
en entrée , affichez le nième numéro BIU
Cas de test
Entrée-> Sortie
1->1
2->21
42->23595
100->118300
200->415777
300->800175
Ceci est codegolf . La réponse la plus courte en octets gagne!
1
n'est pas le premier ...Réponses:
Gelée ,
1615 octetsEssayez-le en ligne!
Woohoo pour les builtins (mais ils me cachent mystérieusement parfois donc -1 octet grâce à @HyperNeutrino )
Comment ça fonctionne
la source
ÆfQ€
au lieu deÆFḢ€€
but they mysteriously hide from me sometime
"Jelly est un jeu de recherche d'atomes et de programmeurs" ~ i cri everytimÆDÆFSSḢ‘ḍ
.05AB1E , 9 octets
Utilise l' encodage 05AB1E . Essayez-le en ligne!
la source
Mathematica, 85 octets
la source
Husk , 13 octets
Essayez-le en ligne!
Explantaion
la source
En fait , 16 octets
Essayez-le en ligne!
Explication:
la source
Pyth , 22 octets
Essayez-le ici!
Ceci est ma toute première solution Pyth, j'ai commencé à l'apprendre grâce aux recommandations de certains utilisateurs très gentils dans le chat: -) ... Cela m'a pris environ une heure pour résoudre.
Explication
la source
Haskell , 115 octets
Toutes les compréhensions de liste ici peuvent probablement être analysées, mais je ne sais pas comment. Suggestions de golf bienvenues! Essayez-le en ligne!
Ungolfing
Cette réponse est en fait trois fonctions écrasées ensemble.
la source
Japt ,
2221 octetsEssaye-le
Je pense que la
g
méthode de la fonction devrait conduire à une solution plus courte, mais je ne peux pas comprendre comment cela fonctionne!Explication
Saisie implicite d'entier
U
.En partant de
0
, renvoyez le premier nombre qui renvoie vrai lorsqu'il est passé par la fonction suivante, avecX
étant le nombre actuel.Obtenez les diviseurs (
â
) deX
et passez chacun par une fonction.Obtenez les facteurs (
k
) de l'élément courant et supprimez les doublons (â
).Réduisez le tableau par addition après avoir fait la même chose pour chaque sous-tableau.
Ajoutez
1
au résultat.Testez si
X
est divisible par ce nombre.Incrémenter
J
(initialement-1
) par le résultat de ce test.Vérifiez l'égalité avec
U
.la source