Contribution
Un seul entier .
Production
Nombre maximal d'entiers positifs distincts ayant le produit .
Exemples
Entrée: 1099511627776. Sortie: 9. Une liste optimale possible de facteurs est: (1, 2, 4, 8, 16, 32, 64, 128, 4096).
Entrée: 127381. Sortie 4. Une liste optimale possible de facteurs est la suivante: (1, 17, 59, 127).
Lié à cette vieille question .
code-golf
. Vous pouvez envisager soitfastest-code
oufastest-algorithm
pour un défi à venir. Si vous vouliez vraiment que toutes les réponses fonctionnent dans un temps limité dans la plage spécifiée, cela aurait dû être explicitement mentionné. (Et j'aurais recommandé une gamme plus petite pour qu'elle n'entre pas en conflit aveccode-golf
entièrement.)x=1, 2, ...
j'obtiensf(x)=1, 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 3, 2, 4, 2, 3, 3, 3, 2, 4, 2, 3, 3, 3, 3, 4, 2, 3
ce que je ne trouve pas dans OEIS. Il est suffisamment clair que des enregistrements apparaîtront pour les nombres factorielsx
. Par exemple le plus petitx
quif(x)=13
sera13!
. Je supposef
que cela ne dépend que des exposants de la factorisation principale. Donc, pour trouver,f(13^4*19^7*29^2)
nous pourrions simplifierf(2^7*3^4*5^2)
.Réponses:
Wolfram Language (Mathematica) , 52 octets
Essayez-le en ligne!
4 octets enregistrés grâce à @attinat
Voici également une version de 153 octets qui calcule
1099511627776
et10^15
Essayez-le en ligne!
Le résultat pour
10^15
est 12la source
Wolfram Language (Mathematica) , 38 octets
Essayez-le en ligne!
Algorithme gourmand. Expire sur TIO sur des entrées plus grandes telles que
1099511627776
.la source
05AB1E , 9 octets
Très inefficace. Expirera sur TIO pour les nombres avec un grand nombre de diviseurs.
Essayez-le en ligne!
Explication
la source
€gZ
est un peu plus efficace queéθg
pour le même bytecount.Perl 6 , 38 octets
Essayez-le en ligne!
Adopte l'approche gourmande pour sélectionner les diviseurs.
la source
Javascript (ES6), 39 octets
Il y a probablement quelques octets qui peuvent être enregistrés ici et là. Utilise simplement l'algorithme gourmand pour les facteurs.
la source
Gelée , 9 octets
Essayez-le en ligne!
-1 octet grâce à quelqu'un
-2 octets grâce à ErikTheOutgolfer
la source
ÆE×8‘½’:2S‘
(il fonctionne avec la puissance de la section "formule" OEIS pour A003056). Avertissement: cela peut être faux, mais cela fonctionne sur les cas de test.ÆD
, ce n'est pas comme s'il y avait plus de partitions qui vont être créées comme ça, ça va juste prendre beaucoup plus de temps (expiration pourJapt
-h
, 13 octetsEssayez-le
la source
Brachylog , 8 octets
Essayez-le en ligne!
(L'approche naïve,
{~×≠l}ᶠ⌉
génère un nombre infini de solutions avec des 1 supplémentaires avant de les éliminer≠
, et ne parvient donc pas à se terminer. Ce n'est pas un problème, cependant, car c'est pour le même nombre d'octets!)Prend l'entrée via la variable d'entrée et la sortie via la variable de sortie. L'en-tête sur TIO contient une copie de la plupart du code pour vous montrer quelle est la liste des facteurs, mais cela fonctionne parfaitement sans elle. Puisqu'il
⊇
donne d'abord des sous-listes plus grandes, ce prédicat fait essentiellement la même chose que la plupart des autres réponses, mais sans générer et filtrer explicitement l'ensemble complet des facteurs, grâce au retour arrière.la source
Scala , 77 octets
Essayez-le en ligne!
la source
Gaia ,
109 octetsEssayez-le en ligne!
Suit le même "algorithme" que celui vu ailleurs - filtrez le jeu de puissance du diviseur le plus longtemps avec un produit égal au nombre et retournez sa longueur.
la source
Palourde , 15 octets
Lien TIO bientôt disponible (quand dennis se retire)
Fondamentalement, un port de la solution 05AB1E @ Emigna.
Explication
la source
C # (Visual C # Interactive Compiler) , 54 octets
Utilise la même approche que les réponses de @ vrugtehagel et @ JoKing.
Essayez-le en ligne!
la source
Rubis , 34 octets
Expire évidemment sur ce nombre massif, mais finira par expirer si on lui donne suffisamment de temps sur une autre machine.
Essayez-le en ligne!
la source