Contexte
Un nombre n
peut être décrit comme B
-rugueux si tous les facteurs premiers de n
dépassent strictement B
.
Le défi
Étant donné deux entiers positifs B
et k
, k
B
affichez les premiers chiffres.
Exemples
Soit f(B, k)
une fonction qui retourne l'ensemble contenant les premiers k
B
nombres.
> f(1, 10)
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
> f(2, 5)
1, 3, 5, 7, 9
> f(10, 14)
1, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59
code-golf
number-theory
primes
factoring
Addison Crump
la source
la source
B
?n
en nombres premiers. Si tous ces nombres premiers sont supérieurs àB
, n estB
-rough.Réponses:
Haskell ,
5344 octetsEssayez-le en ligne!
Merci à H.PWiz pour -9 octets!
la source
(>b)
partie à l'intérieur de la compréhension (ce qui ne fonctionne pas) mais pas l'inverse. Merci!Python 3 ,
80, 75 octetsEssayez-le en ligne!
Merci à shooqie pour avoir économisé 5 octets.
Cela suppose que le kième nombre approximatif de B ne dépassera jamaisB ∗ k , ce que je ne sais pas prouver, mais cela semble être une hypothèse assez sûre (et je ne trouve aucun contre-exemple).
Solution alternative:
Python 2 , 78 octets
Essayez-le en ligne!
Cette solution ne fait pas la solution ci-dessus. Et est beaucoup plus efficace.
la source
lambda B,k:[i for i in range(1,-~B*k)if all(i%j for j in range(2,B+1))][:k]
?Gelée , 7 octets
Essayez-le en ligne!
la source
Perl 6 ,
3532 octets-3 octets grâce à nwellnof!
Essayez-le en ligne!
Un bloc de code anonyme qui prend deux entiers et renvoie une liste d'entiers.
Explication
la source
all
-il?all
vérifie si tous les éléments de la liste sont véridiques. Je vais ajouter une explication pour le tout prochainement[&]
place deall
.all
n'est plus utilisé de cette façon, donc je devrais mettre à jour ma réponse.all
crée une jonction des valeurs de la plage2..b
et toutes les opérations effectuées sur la jonction sont exécutées simultanément sur toutes les valeurs. Lorsqu'il est évalué dans le contexte booléen par legrep
, cela se réduit à savoir si toutes les valeurs de la jonction sont véridiques, c'est-à-dire non nullesHusk ,
98 octetsEssayez-le en ligne!
la source
Fusain , 33 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
Entrée
B
etk
.Réglez
z
à 0.Répétez jusqu'à ce que nous ayons des
k
valeurs.Incrément
z
.Divisez
z
par tous les nombres de2
àB
et voyez si le reste est nul.Sinon, poussez
z
vers la liste vide prédéfinie.Convertissez la liste en chaîne et exportez-la implicitement.
la source
JavaScript (ES6), 68 octets
Prend l'entrée comme
(b)(k)
.Essayez-le en ligne!
Commenté
la source
Gelée , 10 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
JavaScript (Node.js) , 68 octets
Essayez-le en ligne!
la source
APL (NARS), 52 caractères, 104 octets
Au-dessus, il semble que les lignes après 'r ← afw; j'ai' ont des noms 1 2 3; test:
la source
05AB1E , 9 octets
Essayez-le en ligne ou vérifiez tous les cas de test .
Explication:
la source