Étant donné une chaîne, indiquez si la chaîne est une sous-chaîne du code source du programme.
Les règles de quine standard s'appliquent, ce qui signifie que vous ne pouvez pas lire votre propre code source. La longueur de l'entrée est garantie inférieure ou égale à la durée du programme. Vous pouvez renvoyer deux valeurs distinctes, pas nécessairement des valeurs véridiques et falsey. Vous pouvez également soumettre une fonction, plutôt qu'un programme complet.
C'est un code-golf donc le code le plus court gagne!
Un exemple
Si votre code source l'est print(input() = False)
, il doit renvoyer True for nt(i
mais False for tupn
.
code-golf
decision-problem
quine
caird coinheringaahing
la source
la source
Réponses:
Python 2 , 41 octets
Essayez-le en ligne!
la source
JavaScript , 25 octets
Essayez-le en ligne!
Personnellement, je ne suis pas fan de cela, mais c'est permis .
Solution alternative (non valide?), 19 octets
Cela prend l'entrée comme une expression régulière.
Essayez-le en ligne!
la source
(Node.js)
? Cela ne fonctionne-t-il pas aussi dans les navigateurs?Java 8,
124112 octets (fonction)Essayez-le ici.
Le voici en tant que programme complet à la place (pour voir l'une des raisons pour lesquelles les fonctions sont autorisées sur PPCG, car certains langages, comme Java, nécessitent un code passe-partout obligatoire très détaillé pour les programmes complets).
Java 8,
226214 octets (programme complet)Essayez-le ici.
Explication:
String s
contient le code source non formaté.%s
est utilisé pour entrer cette chaîne en elle-même avec les.format(...)
.%c
,%1$c
Et34
sont utilisés pour formater les guillemets doubles.s.format(s,34,s)
met tout cela ensemble.Et
.contains(...)
est ensuite utilisé pour vérifier si ce code source contient l'entrée donnée.la source
Bash,
43, 28 octetsessayez-le en ligne
la source
typeset
formate-le comme ceci AFAICT. Essayez-le en ligne!$1
-il?Haskell , 92 octets
Essayez-le en ligne! Extension évidente du quine standard. Se débarrasser de l'importation serait bien, mais je doute qu'il
isInfixOf
puisse être calculé en un nombre d'octets plus court.la source
Wolfram Language (Mathematica) , 33 octets
Essayez-le en ligne!
la source
QBIC , 28 octets
Ceci affiche 0 si l'entrée n'est pas une sous-chaîne de la source, et X sinon où X est le (premier) index de la sous-chaîne.
Explication
#
définit un littéral de chaîne dans QBIC et l'affecte à la première variable de chaîne disponible. C'estB$
dans ce programme, carA$
est déjà pris par;
(lire une chaîne de la ligne cmd). Ensuite, tout jusqu'au délimiteur est introduit dans le littéral; le délimiteur est un backtick - ce qui en fait également le seul caractère ASCII non inclus dans les lits de chaînes. Dans ce cas, QBIC n'a pas besoin d'un backtick, car le littéral est terminé à la fin du code par la fonction de fermeture automatique de QBIC. Pour plus d'informations sur les littéraux QBIC, consultez le fil de discussion .la source
A
ce que c'est dans ce contexte?B
et une explication est ajoutée.Gelée , 10 octets
Essayez-le en ligne!
Comment ça marche
la source
Julia, 72 octets
Je comprends maintenant ce que les gens veulent dire quand ils disent que les problèmes de quine ne sont que des variations de la quine classique.
Explication
la source
Perl 5, 60 + 2 (-pl) octets
essayez-le en ligne
la source
05AB1E , 17 octets
Modification du quine
0"D34çý"D34çý
par défaut en ajoutantIå
.Essayez-le en ligne.
Explication:
la source