Tâche
Votre tâche consiste à imprimer ou à sortir tous les nombres positifs dans lesquels chaque sous-chaîne à plusieurs chiffres dans sa représentation décimale est également première. Si le nombre a au moins 2 chiffres, cela impliquerait que le nombre lui-même doit également être premier.
Exemple
6197
est dans la séquence parce que chaque à plusieurs chiffres sous - chaîne6197
est premier, à savoir:61
,19
,97
,619
,197
,6197
(lui - même).- Notez que ce
6
n'est pas un nombre premier mais qu'il6197
est toujours dans la séquence car il6
ne s'agit pas d'une sous-chaîne à plusieurs chiffres de6197
. 8
est également dans la séquence, car chaque sous-chaîne à plusieurs chiffres dans8
est premier. Il n'y a pas de sous-chaîne à plusieurs chiffres8
, c'est donc un cas de vérité vide de sens .
Spécifications
- Les failles standard s'appliquent, sauf que vous êtes autorisé à coder en dur la sortie ou à stocker des informations relatives à la sortie dans votre programme.
- Les nombres dans la sortie peuvent être dans n'importe quel ordre .
- Les chiffres de la production sont autorisés à avoir des doublons.
- Vous pouvez utiliser n'importe quel séparateur , si vous choisissez d'imprimer au lieu de la sortie.
- Vous êtes autorisé à préfixer et / ou à postfixer la sortie si vous choisissez d'imprimer au lieu de la sortie.
- Le séparateur et le préfixe et le suffixe ne peuvent contenir aucun chiffre (U + 0030 à U + 0039).
Liste complète (58 objets)
1
2
3
4
5
6
7
8
9
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
113
131
137
173
179
197
311
313
317
373
379
419
431
479
613
617
619
673
719
797
971
1373
3137
3797
6131
6173
6197
9719
Référence
- OEIS A131648 (liste incomplète)
Comme toujours, n'hésitez pas à aborder dans les commentaires tout ce que je devrais clarifier.
Réponses:
Brachylog , 18 octets
Essayez-le en ligne!
Alors ... suis-je prêt pour la "prime" ? :RÉ
la source
05AB1E ,
1513 octetsCode:
Explication:
Utilise l' encodage CP-1252 . Essayez-le en ligne! (cela peut prendre quelques secondes).
la source
Brachylog ,
1817151615 octetsEssayez-le en ligne!
-1 octet après une discussion avec Fatalize m'a inspiré pour voir ce qui se passe si j'échange le
l
et<
autour.Ce prédicat génère la sortie via la variable d'entrée, tant que la variable de sortie n'est pas contrainte. Comme les doublons sont autorisés, chaque nombre est généré avec une multiplicité égale à 2 à la puissance du nombre de ses chiffres qui sont des nombres premiers.
Versions plus anciennes:
la source
8ḟ⟦₁{sᶠ{Ḋ|ṗ}ᵐ&}ˢ
Brachylog , 18 octets
Une autre solution Brachylog. Je ne pouvais pas être plus court que la solution Brachylog d'Erik The Outgolfer; c'est exactement la même longueur, mais approche la génération de la direction opposée.
On dirait que Unrelated String a battu cela par beaucoup de personnages, que je félicite.
Explication:
Essayez-le en ligne!
la source
Gelée , 17 octets
Ma première réponse Jelly! Sauvegardé 3 octets grâce à @Leaky Nun !
Essayez-le en ligne
Explication:
la source
RÇÐf
peut être remplacé parÇ€T
.ṖÐfḌÆP€
peut être remplacé parḌḟDÆP
.Java 8, 182 octets
Réponse de C (gcc) du port de gastropner , alors assurez-vous de voter pour sa réponse!
Essayez-le en ligne.
Explication:
la source
PowerShell v2 +,
107104octetsAvertissement: Kinda Slow
Boucle de
11
à1e4
(c'est- à -dire10000
) et extrait des nombres à l'aide duWhere-Object
sélecteur (|?{...}
). La clause est11
composée de deux composants - les premières boucles allant jusqu'au nombre actuel et utiliseWhere-Object
pour extraire les nombres qui forment une sous-chaîne du nombre actuel (via l'-match
opérateur regex). Nous stockons ces sous-chaînes dans$x
. La deuxième partie passe en boucle$x
et utiliseWhere-Object
pour extraire tous les nombres premiers à l'aide de l' expression rationnelle principale . Nous prenons ensuite les.count
deux et le contrôle est en fait si ceux-ci sont-eq
ual. Par exemple,971
aura$x = (71,97,971)
et chacun de ceux-ci sont premiers,3-eq3
est$TRUE
donc et971
sera donc sélectionné.Ce résultat est concaténé en tableau avec une plage
1..10
. Le tableau résultant est laissé sur le pipeline et la sortie est implicite, avec une nouvelle ligne entre les éléments par défaut.la source
Japt , 15 octets
Essaye-le
la source
C (gcc) ,
144142140 140136134132 octets-2 merci à Kevin Cruijssen. -2 grâce au plafond
... Et inspiré par cela, nous pouvons obtenir 2 autres octets de cette boucle.
Également impudemment surnommé le vérificateur principal plutôt meilleur de la réponse de Kevin Cruijssen pour un autre -4.
Essayez-le en ligne!
la source
||n<10
peut être|n<10
etfor(n=1;n<1e4;n++)
peut êtrefor(n=0;++n<1e4;)
de -2 octets.Malbolge Unshackled (variante de rotation de 20 trits), 2,5254e7 octets ou 1,9809e7 octets
La taille de cette réponse dépasse la taille maximale du programme (eh), donc le code se trouve dans mon référentiel GitHub (remarque: ne copiez pas le code en utilisant CTRL + A et CTRL + C, faites un clic droit et cliquez sur "Enregistrer l'élément de destination sous." .. ").
Comment faire ça?
Cela pourrait être une partie délicate, car un interprète naïf de Haskell prendra des âges pour exécuter cela. TIO a un interprète Malbogle Unshackled décent, mais malheureusement je ne pourrai pas l'utiliser (limitations).
Le meilleur que j'ai pu trouver est la variante de largeur de rotation fixe de 20 trits, qui fonctionne très bien.
Pour rendre l'interprète un peu plus rapide, j'ai supprimé toutes les vérifications de l'interpréteur Malbolge Unshackled de Matthias Lutter.
Notes de performance
L'application a fonctionné environ 40 minutes sur ma machine, produisant des numéros HEX de la séquence. Je l'ai arrêté environ une heure de calculs, et il s'est terminé sur 0x11.
Notez que cette réponse diffère de la mienne, car celle-ci calcule en fait les nombres, et elle peut être faite pour les calculer indéfiniment.
L'application alloue le tampon de rotation, qui fait environ 7 gigaoctets, alors préparez mieux votre RAM libre.
Variante alternative
La variante alternative utilise environ 2 gigaoctets de mémoire en moins, mais produit la sortie sous forme de caractères ASCII (0 = ASCII (0x0), 10 = saut de ligne, etc ...), et est disponible ici . Il ne rivalise pas cependant, en raison des exigences du défi
la source
Python 3 , 118 octets
Essayez-le en ligne!
Explication
Avertissement: aucune chaîne réelle n'est impliquée dans cette solution.
la source
Ruby, 81 + 8 = 89 octets
+8 octets pour
-rprime
.Voir sur repl.it: https://repl.it/CniR/2
la source
Perl 6 ,
47 4443 octetsExplication:
la source
C #,
261249247 octetsEnregistré 12 octets grâce à Leaky Nun
Cela se compile en a
Func<List<int>>
.La version formatée ressemble à:
la source
false
outrue
, utilisez0>1
et0<1
Swift 4 , 144 octets
Essayez-le en ligne!
Explication
la source
JavaScript (Node.js) , 130 octets
si je peux prendre empilement infini
i*i<=n&&
peut être enlevé et ài*i>n
tour de rôle , cei>=n
qui réduit le code de 9 octets et peut - être convertir la fonction principale de recursive: https://tio.run/##LYpBDoIwEEX33AMyAxVbXUmccgX2xkWDRYeQaSPqyrvXkrj5ef/lze7j1vHJ8bWTcPMpTQRMWjm6XJFs0/DZ@EM/ASunBmCsKtfG9/rIiJ0rIoEoJpNbKXPdx@1jx5akGEiytqdNYp2nNFr / wR @ xHkD2Rn81dpLGIGtYfLuEO0yAmH4 (119 octets)Essayez-le en ligne!
la source
Malbolge , 1361 octets
Version simple et ennuyeuse. Affiche les nombres les plus élevés.
Essayez-le en ligne!
la source
TI-83/84 BASIC, 124 octets
Boucles sur les 10 premiers entiers. Configure un compteur dans N pour vérifier chaque sous-chaîne prime et int (log (A récupère un de moins que le nombre de chiffres du nombre actuel. Nous mettons ensuite ce nombre de côté dans une deuxième variable afin que nous puissions descendre P de chaque longueur sous-chaîne d'au moins 2 chiffres. 10 ^ ... et AnsfPart (iPart (,,, génèrent la sous-chaîne actuelle pour vérifier la primalité, puis les 3 lignes suivantes effectuent la vérification de la primalité à 1 ou 0 dans Ans. Si la sous-chaîne n'est pas de premier ordre) , nous incrémentons N, et après que toutes les sous-chaînes sont vérifiées si N est toujours 0, nous imprimons le nombre actuel.
Peut-être que quelques ajustements pourraient être effectués pour augmenter l'efficacité du contrôle de primalité vers ce test? Je suis juste content d'avoir trouvé un algorithme en moins d'octets que de stocker la sortie directement au format TI-83!
la source
Python 3.8 (version préliminaire) , 194 octets
Essayez-le en ligne!
la source
PHP , 135 octets
Essayez-le en ligne!
la source