Est-ce qu'il mène ou suit?

48

Dans ce défi, vous devez écrire un programme ou une fonction, qui prend une chaîne en tant qu'entrée et génère l'une des deux valeurs possibles. Nous appellerons l'une de ces valeurs la vérité et une la fausseté . Ils n'ont pas besoin d'être réellement véridiques ou faux . Pour qu'une réponse soit valide, elle doit répondre à quatre critères supplémentaires.

  • Lorsque vous transmettez votre programme à lui-même, il affiche la valeur de vérité .

  • Si vous transmettez votre programme en tant qu'entrée à une réponse plus ancienne, elle devrait générer la sortie de vérité (du programme auquel vous passez).

  • Si vous transmettez une réponse plus ancienne à votre réponse en tant qu'entrée, vous devez générer la sortie faussée (de votre programme).

  • Il doit exister un nombre infini de chaînes qui donnent une impression de vérité dans toutes les réponses au défi (y compris votre nouvelle réponse).

Cela aura pour effet de créer lentement une chaîne de réponses, chacune pouvant déterminer si d'autres programmes de la chaîne interviennent avant ou après.

Le but de ce défi est d’établir une liste de restrictions de sources qui s’appliquent aux réponses successives, rendant ainsi chacune plus difficile que la précédente.

Exemple

Une chaîne (écrite en Haskell) pourrait commencer:

f _ = True

Comme il n'y a pas de programmes plus anciens, les critères ne s'appliquent pas à cette réponse, il suffit de sortir l'une des deux valeurs possibles, dans ce cas, elle est toujours affichée True.

Après cela pourrait être la réponse:

f x=or$zipWith(==)x$tail x

Essayez-le en ligne!

Ce qui affirme qu'il y a un caractère deux fois de suite quelque part dans la chaîne. La première réponse n'a pas cette propriété alors que la seconde le fait ( ==). Donc, ceci est une réponse valide suivante.

Règles spéciales

  • Vous pouvez utiliser la langue de votre choix (mise en œuvre librement disponible) autant de fois que vous le souhaitez.

  • Si vous êtes la dernière personne à répondre, vous devez attendre au moins 7 jours avant de poster une nouvelle réponse.

  • Votre programme ne peut pas lire sa propre source.

  • Étant donné que la 4ème règle est extrêmement difficile à vérifier si des fonctions cryptographiques sont impliquées, ces fonctions sont interdites.

Critère de notation

Chaque fois que vous ajoutez une réponse, vous obtiendrez autant de points que sa place dans la chaîne. Par exemple, la cinquième réponse gagnerait 5 points à son auteur. Le but est d’obtenir le plus de points possible. La dernière réponse marquera son répondeur -∞ points. Ce sera probablement plus amusant si vous essayez de maximiser votre propre score plutôt que de «gagner» le défi. Je n'accepterai pas de réponse.

Comme il s’agit vous souhaiterez peut-être trier par ordre le plus ancien.

Assistant de blé
la source
Peut-être devrait-il y avoir un post sur le wiki de la communauté répertoriant toutes les nouvelles exigences ajoutées par les réponses. Il pourrait éventuellement aussi avoir un lien TIO vers le code vérifiant qu'un programme satisfait à toutes les exigences.
Steadybox
1
@totallyhuman Le répondant pourrait le mettre à jour
Conor O'Brien
1
@ msh210 Vous ne devriez pas avoir besoin de savoir grand chose sur les langues des autres. Tant qu'ils ont été suffisamment courtois pour fournir un moyen facile de gérer leur programme, tout ce que vous avez à faire est de coller votre programme dans l'entrée de leur programme et de l'exécuter. Leur programme exécuté sur votre programme doit produire la même chose que son programme exécuté sur lui-même.
0 '21
1
@ user56656 Pouvez-vous s'il vous plaît résoudre le problème des fonctions cryptographiques autorisées? Voir n ° 31.
mbomb007

Réponses:

10

14. Assemblage X86 (gcc 6.3), 324 octets

.TITLE "a"#"a" ELTIT.
.data
i:.fill 25,1,0
s:.string "%25[^\n]"
t:.string "->Hi, Retina!"
f:.string "Bye Retina!"
.global main
main:           
pushl $i
pushl $s
call scanf
addl $8, %esp
pushl $i
call strlen
addl $4, %esp
sub $21, %eax
jz y
pushl $f
call printf
addl $4, %esp
jmp en
y:
pushl $t
call printf
addl $4, %esp
en:
ret

Essayez sur ideone!

Remarque: ce sera le retour d' une erreur d'exécution car le code de sortie est zéro. En exécutant ceci dans l’éditeur ideone, toutes les sorties stdout seront affichées, quelle que soit la conclusion du programme.

  • Sortie de vérité :"->Hi, Retina!"
  • Falsy sortie:"Bye Retina!"

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).

Pour les réponses futures:

  • Le premier caractère est un ..
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4.
  • Le 10ème caractère est un ".
  • La dernière ligne non vide ne contient aucun caractère en double.
  • La première ligne est un palindrome de longueur = 21
Un peu confus
la source
2
Peut-on remplacer l'espace dans les "s par un"?
Destructible Lemon
@DestructibleLemon Yup! Fixé.
bitconfused
1
@ user56656 vous ne pouvez pas vous attendre à ce que le répondeur connaisse Pyth. Au lieu de cela, il doit nécessairement passer par la description du critère par le répondeur Pyth, à savoir que le programme contient un a. Ce programme contient un fichier a.
msh210
Il semble que votre réponse ne fasse pas exactement ce qu'elle prétend. Ma réponse ici passe malgré le fait qu’il y ait 22 caractères (sans nouvelle ligne) sur la première ligne.
Wheat Wizard
@ user56656 Il suffit de l'exécuter dans l'éditeur, il affiche la valeur falsey de "Bye Retina!" dans le live console feed.
Bitconfused
7

9. Retina , 16 octets

.->0`Hi, Retina!

Essayez-le en ligne!

Si vous voulez essayer votre propre programme, ajoutez-le simplement au champ de saisie, séparé par deux sauts de ligne. (Si votre programme contient deux sauts de ligne, vous devrez changer le séparateur entre tous les programmes et dans l'en-tête TIO.)

Satisfait:

  1. Le premier caractère est un .
  2. Il contient un e
  3. Sa longueur est égale
  4. Sa longueur est un carré parfait
  5. Il contient un a
  6. Il contient un >personnage
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.

Désolé, mais tu m'as obligé à patauger à la longueur de 16 ...

Sans exigences redondantes:

  • Le premier caractère est un .
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.

Explication

Commencer par .est correct, cela signifie simplement que nous supprimons la sortie implicite de Retina (à condition que la première ligne ait une configuration, mais je ne voulais pas de programme à deux lignes). Cela signifie que nous avons besoin d'une sortie explicite, mais l'option est la suivante >: nous avons donc de la chance. Le -peut aller devant parce qu'il ne fait rien.

Nous pouvons maintenant accéder au programme lui-même. La chose la plus simple à faire est de faire correspondre une chaîne littérale. Il est garanti que cela apparaîtra dans notre programme, nous pouvons facilement nous assurer que cela ne fait pas partie d'un programme existant, et cela nous donne un chiffre. Cependant, il pourrait éventuellement renvoyer un nombre supérieur à 1 (donc plus de deux valeurs différentes). Nous évitons cela avec le 0-limit qui ne regarde que le premier match et le comptabilise s'il existe. Ainsi, 0cela garantit que la sortie est uniquement jamais 0ou 1(selon que l’entrée contient la chaîne littérale).

En ce qui concerne la chaîne littérale ... eh bien, nous avons encore besoin d'inclure un eet un a... et nous avons besoin que la chaîne ait au moins 11 caractères, de sorte que nous remplissions les exigences de longueur (obtenir un carré pair). Hi, Retina!arrive à satisfaire ces exigences.

Martin Ender
la source
7

13. Perl 5 , 64 octets

.1;";1.
\"Hi, Retina!->";$_=<>;chop;print y///c>5&&reverse
eq$_;

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.

Résumé pour les réponses futures:

  • Le premier caractère est un ..
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4.
  • Le 10ème caractère est un ".
  • La dernière ligne non vide ne contient aucun caractère en double.
  • La première ligne est un palindrome de longueur> 5 (en caractères ).

Vérification Ruby script

Lynn
la source
Juste sur le point de poster ma réponse, aaand maintenant c'est impossible ahhhhhh
bitconfused
Oups, je supprime ceci jusqu'à ce que la réponse V soit corrigée.
Lynn
1
@bitconfused Je l'ai changé, rien que pour vous ...!
Lynn
1
Tu es trop bon pour ce monde!
bitconfused
1
@ user56656 vous ne pouvez pas vous attendre à ce que le répondeur connaisse Pyth. Il doit plutôt passer nécessairement par la description du critère par le répondeur Pyth, à savoir que le programme contient un a. Ce programme contient un fichier a.
msh210
6

25, Octave , 196 octets

Nouvelle exigence: pour éviter la discussion onglet contre espaces, les onglets ne peuvent plus être utilisés pour l'indentation. Chaque ligne nécessite toujours une tabulation, mais il ne peut s'agir du premier caractère de la ligne.

.6;%+->?|"	"|?>-+%;6.
f=@(x)1&&cellfun(@(C)any(C=='	')&1&&find(C=='	')>1,strsplit(x,char(10)));
%	
%	
%	
%	
%	
%	
%Henry Jams?Hi, Retina!	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	
%	~

Vérifiez tous les programmes en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C
  22. Chaque ligne contient un caractère de tabulation.
  23. La neuvième ligne contient au moins 22 caractères, excluant la nouvelle ligne.
  24. Le caractère de tabulation ne peut pas être le premier caractère d'une ligne

Pour les réponses futures:

  • Le premier caractère est un ., de même que le 21ème caractère (règle palindromique).
  • Le 10ème caractère est un ", de même que le 12ème (règle palindromique).
  • La première ligne est un palindrome de longueur 21.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4 et son point de code est inférieur à 60 (les éléments imprimables sont ',1;6et Tab).
  • Le dernier caractère est ~.
  • Sa longueur est un carré encore parfait.
  • Il fait au moins 28 lignes.
  • La neuvième ligne doit comporter au moins 22 caractères, excluant la nouvelle ligne.
  • La dernière ligne non vide ne contient aucun caractère en double.
  • Contient les chaînes exactes ->, Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.
  • Chaque ligne contient au moins un caractère de tabulation, mais il ne peut s'agir du premier caractère d'une ligne.
  • Chaque programme est maintenant autorisé uniquement les 2 .et 2 "dans la première ligne, et !dans le Hi, Retina!. Ces caractères ne peuvent être utilisés nulle part ailleurs, sans aucune utilisation de #$[\].

Explication:

Il était en fait un peu difficile de garder cette taille à 196 octets, car de nombreux octets sont maintenant obligatoires sur chaque ligne.

La première ligne est simplement un scalaire non généré, suivi d'un commentaire. La deuxième ligne est une fonction anonyme qui prend une chaîne en xtant qu'entrée et effectue les opérations suivantes:

strsplit(x,char(10))   % Split at newlines. Can't use a literal newline, or [10,''] due to previous rules
cellfun(@(C) ...     ) % Perform the following operation on each line:
  any(C==' ')          % Make sure there is at least one tab character
  1&&find(C==' ')>1    % Make sure the index is higher than 1
1&&cellfun( ... )     % Check that this is true for all lines.

Heureusement, l'opération de court-circuit &&est prioritaire &et 1&&findne nécessite pas de parenthèses. Sinon, je ne parviendrais pas à jouer au golf jusqu'à 196 octets.

Stewie Griffin
la source
Notez que ce n'est pas du code golf.
ericw31415
1
Je sais, mais il est plus amusant de jouer au golf que de le rembourrer de 50 octets. :)
Stewie Griffin Le
5

5. Python 3 , 64 octets

.012
import sys
print(len(sys . stdin . read()) ** 0.5 % 1 == 0)

Essayez-le en ligne! Vérifie si la longueur de l'entrée est un carré parfait.

Celui-ci avait été mis à jour au moment où 18 réponses étaient présentes pour prendre en charge les entrées multilignes.

La mise à jour ne fait pas mal à la chaîne.


Satisfait:

  1. commence par un .
  2. contient un e
  3. a une longueur égale
  4. a une longueur carrée parfaite
Uriel
la source
Je n'ai pas essayé cela, mais renvoie-t-il faux, par exemple, pour 99999999 ^ 2 + 1 et true pour, par exemple, 99999999 ^ 2?
msh210
1
Cela ne lit actuellement que la première ligne de l'entrée. Par conséquent, les réponses multilignes renverront (à tort) False. Est-il possible pour vous de corriger cela quand vous en avez l'occasion?
Caird coinheringaahing
@cairdcoinheringaahing corrigé, merci!
Uriel
5

11. JavaScript (ES6), 36 octets

.11&&(s=>"Hi, Retina!->"&&s[9]=='"')

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".

Pour les réponses futures:

  • Le premier caractère est un ..
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4.
  • Le 10ème caractère est un ".
Arnauld
la source
5

23, lettré Haskell , 196 octets

Nouvelle exigence: l'indentation est excellente, chaque ligne doit donc contenir au moins un caractère de tabulation.

.1+C->|  "	"  |>-C+1.
		
>	main = interact test
>	test s = show (check (lines s))
>	check = all (elem tab)
>	tab = toEnum 9
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	Henry Jams?
	Hi, Retina!
	~

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C
  22. Chaque ligne contient un caractère de tabulation.

Pour les réponses futures:

  • La première ligne est un palindrome de longueur 21.
  • Le premier caractère est un ., de même que le 21ème caractère (règle palindromique).
  • Le 10ème caractère est un ", de même que le 12ème (règle palindromique).
  • Le point de code Unicode du deuxième caractère, mod 5, est 4 et son point de code est inférieur à 60 (les éléments imprimables sont ',1;6et Tab).
  • Le dernier caractère est ~.
  • Sa longueur est un carré encore parfait.
  • Il fait au moins 28 lignes.
  • La dernière ligne non vide ne contient aucun caractère en double.
  • Contient la séquence exacte ->.
  • Contient les chaînes exactes Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.
  • Chaque ligne contient un caractère de tabulation.
  • Chaque programme est maintenant autorisé uniquement les 2 .et 2 "dans la première ligne, et !dans le Hi, Retina!. Ces caractères ne peuvent être utilisés nulle part ailleurs, sans aucune utilisation de #$[\].
Laikoni
la source
Voilà ma chance de poster une autre réponse Whitespace sur la route. ; p
Kevin Cruijssen
5

27. GolfScript , 144 octets

.		;'>-C+"1"+C->';		.
'	
z	
y	
x	
w	
v	
u	
Hi, Retina!	Henry Jams?';;
t	
s	
r	
q	
o	
m	
l	
k	
j	
i	
h	
g	
f	
e	
d	
c	
b	
n	/:^,27>^^^|=lynn
*	n~

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C
  22. Chaque ligne contient un caractère de tabulation.
  23. La neuvième ligne contient au moins 22 caractères, excluant la nouvelle ligne.
  24. Le caractère de tabulation ne peut pas être le premier caractère d'une ligne
  25. Le dernier caractère est un onglet.
  26. Il y a au moins 28 lignes et elles sont toutes distinctes.

Pour les réponses futures:

  • La première ligne est une correspondance de palindrome .␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.(vous êtes libre de remplir les s).
  • Le deuxième caractère est l'un de ',16;, ou un onglet, ou l'un de \x04\x0e\x13\x18\x1d.
  • Sa longueur est un carré encore parfait.
  • Il y a au moins 28 lignes et toutes les lignes sont distinctes .
  • La neuvième ligne doit comporter au moins 22 caractères (sans la nouvelle ligne).
  • La dernière ligne ne contient aucun caractère en double.
  • Contient les chaînes exactes ->, Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.
  • Chaque ligne contient au moins un caractère de tabulation, mais il ne peut s'agir du premier caractère d'une ligne.
  • !".#$[\] sont interdits sauf si nécessaire:
    • Seulement !en Hi, Retina!et les deux .et deux "dans la première ligne sont autorisés.
  • Les extrémités du programme avec: tab, (peu importe) , ~.
Lynn
la source
4
26 est là (non évident lors du tri par le plus ancien.)
Lynn
4

12. V , 36 octets

.1lllGYVH""pØHi, Retina!->üˆ.*±
Ø^0$

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.

Pour les réponses futures:

  • Le premier caractère est un ..
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4.
  • Le 10ème caractère est un ".
  • La dernière ligne non vide ne contient aucun caractère dupliqué.
DJMcMayhem
la source
4

21. Alphuck , 676 octets

Étonnamment, la plupart du code n'est pas un remplissage.

.11111111"1"11111111.
?|+->Hi, Retina!opaos
iipiiciasceaecppisaic
sapiceasccpisipiiiiia
ecsaiiijaeepiiiiiiaec
saeeejeepiiiaeecsajee
eeeepiaeecsaejipiiiii
iaecsaijeeeeeeeeeejii
iiiijiipiiiaecsaijiii
piaeeeecsaijeejiiijii
iiiiiiiiiiijiipiiiaec
saijiipiaeeeecsaejiii
iiiiiiijeeeeeejiiijpi
iaeeeeecsaeeejpiiaeee
eeeecsajeejiiijiiiiii
iijeeeeeeeeeeejeeepia
eeecsaeejeeeeeeeeeeee
jpiaeeeeecsaijepiaeee
csaeejeeeeeeeeejiiiii
iiiiijiipiiiaecsaiiij
epiiiiaecsaeeejiipiae
eeecsaijepiaeeecsaeje
eeeeeeeeeejiiiiiiiiii
iijiipiiiaecsaiijpiae
eecsaejipiaeeecsajiii
piaeeeecsajiiiiiiiiii
ijeeejiiiiiiiijejiipi
iiaecsajpHenry Jams?a
bcefghiwklmnopqrstuvw
xyzabcdefghwuklmnopqr
stuvwxyzabcdefg~

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.

Pour les réponses futures:

  • Le premier caractère est un ., de même que le 21ème caractère (règle palindromique).
  • Le 10ème caractère est un ", de même que le 12ème (règle palindromique).
  • La première ligne est un palindrome de longueur 21.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4 et son point de code est inférieur à 60 (les éléments imprimables sont ',1;6et Tab).
  • Le dernier caractère est ~.

  • Sa longueur est un carré encore parfait.
  • Il fait au moins 28 lignes.
  • La dernière ligne non vide ne contient aucun caractère en double.

  • Contient la séquence exacte ->.
  • Contient les chaînes exactes Hi, Retina!etHenry Jams?.
  • Il contient |et +.

  • Chaque programme est maintenant autorisé uniquement les 2 .et 2 "dans la première ligne, et !dans le Hi, Retina!. Ces caractères ne peuvent être utilisés nulle part ailleurs, sans aucune utilisation de #$[\].
Uriel
la source
4

26. Brainfuck à modification automatique (SMBF), 256 octets

Le dernier caractère doit être un onglet.

.1111111	"1"	1111111.
x	
x	
x	
x	
x	
x	
x	
x	Hi, Retina!Henry Jams?C|xxxxxxxxxxxxxxxxxxxx
x	
x	
x	
x	
x	
x	
x	
x	
x	
x	
x	
x	
x	
x	
x	
x	
x	<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
x	+>>>->>+>>->>+>>->>>>>>>>>>>+>>>>>->>->>>>
x	>,Z>,^<Z-^<Z-^<---------Z>+.>^
^	x~

Imprime \x00pour la vérité et les sorties \x00\x01pour Falsey. Se termine toujours par une erreur due à un support inégalé. Cela empêche toute entrée d'être exécutée dynamiquement.

Ce programme ne fonctionne que dans l' interpréteur Python . NE FONCTIONNE PAS SUR TIO. En effet, l'interpréteur Python EOF est NUL.

Pour utiliser l'interpréteur Python, collez ce code dans la ligne où dataest défini. Cela devait être fait, car TIO n'a pas de moyen facile de taper ou d'entrer des octets NUL, donc j'utilise toujours Ideone. Puis décommentez sys.stdin = MySTDIN("<[.<]")et remplacez l'entrée personnalisée par celle que vous testez.

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C
  22. Chaque ligne contient un caractère de tabulation.
  23. La neuvième ligne contient au moins 22 caractères, excluant la nouvelle ligne.
  24. Le caractère de tabulation ne peut pas être le premier caractère d'une ligne
  25. Le dernier caractère est un onglet.

Pour les réponses futures:

  • Le premier caractère est un ., de même que le 21ème caractère (règle palindromique).
  • Le 10ème caractère est un ", de même que le 12ème (règle palindromique).
  • La première ligne est un palindrome de longueur 21.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4 et son point de code est inférieur à 60 (les éléments imprimables sont ',1;6et Tab).
  • Le dernier caractère est ~.
  • Sa longueur est un carré encore parfait.
  • Il fait au moins 28 lignes.
  • La neuvième ligne doit comporter au moins 22 caractères, excluant la nouvelle ligne.
  • La dernière ligne non vide ne contient aucun caractère en double.
  • Contient les chaînes exactes ->, Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.
  • Chaque ligne contient au moins un caractère de tabulation, mais il ne peut s'agir du premier caractère d'une ligne.
  • Chaque programme est maintenant autorisé uniquement les 2 .et 2 "dans la première ligne, et !dans le Hi, Retina!. Ces caractères ne peuvent être utilisés nulle part ailleurs, sans aucune utilisation de #$[\].
  • Le dernier caractère est un onglet.
mbomb007
la source
4
225 n'est pas encore?
Citron destructible
@DestructibleLemon J'ai ajouté un rembourrage et changé ma réponse pour en faire le # 26.
mbomb007
4

28. alphabète alphabétique , 256 octets

.	|+xx<<<"a"<<<xx+|	.
 		
>	g x=elem '<'x&&e%x==e
>	e=tail(show 0)	
>	('<':a)%('>':b)=a%b
>	a%('<':b)=('<':a)%b
>	a%('>':b)='<':e
>	a%(x:b)=a%b{->Hi, Retina!Henry Jams?-}
>	a@(_:_)%_=a
>	a%b=e
 	
a	
b	
C	
d	
e	
f	
g	
h	
i	
j	
k	
l	
m	
n	
o	
ppppppppp	
q	3~

Essayez-le en ligne!

Pilote d'essai

Satisfait

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C
  22. Chaque ligne contient un caractère de tabulation.
  23. La neuvième ligne contient au moins 22 caractères, excluant la nouvelle ligne.
  24. Le caractère de tabulation ne peut pas être le premier caractère d'une ligne
  25. Le dernier caractère est un onglet.
  26. Il y a au moins 28 lignes et elles sont toutes distinctes.
  27. Il doit y avoir un >dans le code et les renforts d'angle doivent être équilibrés

Pour les réponses futures:

  • La première ligne est une correspondance de palindrome .␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.(vous êtes libre de remplir les s).
  • Le deuxième caractère est l'un de ',16;, ou un onglet, ou l'un de \x04\x0e\x13\x18\x1d.
  • Sa longueur est un carré encore parfait.
  • Il y a au moins 28 lignes et toutes les lignes sont distinctes.
  • La neuvième ligne doit comporter au moins 22 caractères (sans la nouvelle ligne).
  • La dernière ligne ne contient aucun caractère en double.
  • Contient les chaînes exactes ->, Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.
  • Chaque ligne contient au moins un caractère de tabulation, mais il ne peut s'agir du premier caractère d'une ligne.
  • !". sont interdits sauf si nécessaire:
    • Seulement !en Hi, Retina!et les deux .et deux "dans la première ligne sont autorisés.
  • #$[\] peut ne pas apparaître dans le programme.
  • Les extrémités du programme avec: tab, (peu importe) , ~.
  • Les renforts d'angle doivent être équilibrés
Assistant de blé
la source
Je ne sais pas ce que vous entendez par "perl5 actuellement ne fonctionne pas" dans le pilote de test, il affiche une 1amende lorsque je ne commente pas cette ligne (bien qu'il puisse utiliser un ; echocar il n'y a pas de nouvelle ligne dans la sortie)
Lynn
@ Lynn je ne sais pas. Je ne me souviens plus de ce qui n'allait pas. Je vais aller de l'avant et décommenter. Merci.
Wheat Wizard
4

29. PHP avec -r, 256 octets

.6|0&"123'  '321"&0|6.
<   
0   
;   
+   
eval(   
~   
preg_replace    
('Hi, Retina!'^'g5X|<J' 
,   
''  
^'Henry Jams?'  
,'×× ×  ×ÝÅÐÐÝÖÓÎÖÖÁÇÇÀ«Å¹ÖÄ'));?>->/45789:@ABCDEFGHIJKLMNOPQ  
*   
a   
b   
c   
d   
e   
f   
g   
h   
i   
j   
k   
m   
n   
o   p~

Ne pas pouvoir utiliser $cela rendait la tâche assez difficile. Dans ma solution initiale, je comprenais mal la règle, mais je pense que tout est couvert maintenant. J'ai utilisé des caractères avec un nombre d'octets élevé, ~et evalpour contourner le manque de variables décentes pour PHP. J'ai presque atteint le nombre minimum de points de code uniques 96, mais j'ai pensé que cela pourrait rendre les choses un peu trop difficiles pour certaines langues.

Voici un vidage hexadécimal réversible pour vérification également.

00000000: 2e36 7c30 2622 3132 3327 0927 3332 3122  .6|0&"123'.'321"
00000010: 2630 7c36 2e0a 2a09 0a30 090a 3b09 0a2b  &0|6..*..0..;..+
00000020: 090a 6576 616c 2809 0a7e 090a 7072 6567  ..eval(..~..preg
00000030: 5f72 6570 6c61 6365 090a 2827 4869 2c20  _replace..('Hi, 
00000040: 5265 7469 6e61 2127 5e27 6735 587c 3c4a  Retina!'^'g5X|<J
00000050: 2709 0a2c 090a 2727 090a 5e27 4865 6e72  '..,..''..^'Henr
00000060: 7920 4a61 6d73 3f27 090a 2c27 9b96 9ad7  y Jams?'..,'....
00000070: 9c90 8a91 8bd7 9c90 8a91 8ba0 9c97 9e8d  ................
00000080: 8cd7 9996 939a a098 9a8b a09c 9091 8b9a  ................
00000090: 918b 8cd7 dd8f 978f c5d0 d08c 8b9b 9691  ................
000000a0: ddd6 d3ce d6d6 c1c7 c7c0 abc5 b9d6 c427  ...............'
000000b0: 2929 3b3f 3e2d 3e2f 3435 3738 393a 4041  ));?>->/45789:@A
000000c0: 4243 4445 4647 4849 4a4b 4c4d 4e4f 5051  BCDEFGHIJKLMNOPQ
000000d0: 090a 3c09 0a61 090a 6209 0a63 090a 6409  ..<..a..b..c..d.
000000e0: 0a65 090a 6609 0a67 090a 6809 0a69 090a  .e..f..g..h..i..
000000f0: 6a09 0a6b 090a 6d09 0a6e 090a 6f09 707e  j..k..m..n..o.p~

Essayez-le en ligne!

Pilote d'essai

Satisfait

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C
  22. Chaque ligne contient un caractère de tabulation.
  23. La neuvième ligne contient au moins 22 caractères, excluant la nouvelle ligne.
  24. Le caractère de tabulation ne peut pas être le premier caractère d'une ligne
  25. Le dernier caractère est un onglet.
  26. Il y a au moins 28 lignes et elles sont toutes distinctes.
  27. Il doit y en avoir un >dans le code et les renforts d'angle doivent être équilibrés.
  28. Il doit y avoir plus de 88 points de code distincts dans le programme.

Pour les réponses futures:

  • La première ligne est une correspondance de palindrome .␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.(vous êtes libre de remplir les s).
  • Le deuxième caractère est l'un de ',16;, ou un onglet, ou l'un de \x04\x0e\x13\x18\x1d.
  • Sa longueur est un carré encore parfait.
  • Il y a au moins 28 lignes et toutes les lignes sont distinctes.
  • La neuvième ligne doit comporter au moins 22 caractères (sans la nouvelle ligne).
  • La dernière ligne ne contient aucun caractère en double.
  • Contient les chaînes exactes ->, Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.
  • Chaque ligne contient au moins un caractère de tabulation, mais il ne peut s'agir du premier caractère d'une ligne.
  • !". sont interdits sauf si nécessaire:
    • Seulement !en Hi, Retina!et les deux .et deux "dans la première ligne sont autorisés.
  • #$[\] peut ne pas apparaître dans le programme.
  • Les extrémités du programme avec: tab, (peu importe) , ~.
  • Les renforts d'angle doivent être équilibrés.
  • Il doit y avoir plus de 88 points de code distincts dans le programme.
Dom Hastings
la source
Je pense que vous avez oublié d'ajouter votre script comme argument au pilote de test ici. Je l'ai corrigé dans ma réponse qui est actuellement supprimée.
Davis Yoshida
4

30. > <> avec -v 0 -v 0324 octets

1 est la vérité, chaîne vide est falsey

.1|-<<<<	"C"	<<<<-|1.
>i:0(?v'	'~
v     >}@@:'	'=0=?;@
v	
     >:0(?va=?v&1+&>'	'~
>{r0&/    v   >&}0&^	
          >&}rv	
<	
              >l3(?v@:}@@=?;{'	'~
                  ->1n;	
Hi, Retina!	
ABDEFGIKLMNOPQSTUVWXYZ	
b	c
d	
fg	
h	
jk	
o	
p	*      *  *
q	  *  *      *
u	*      *  *
w	
xz	
2	
45	
6	
78	9
Henry Jams?%-	_~

Essayez-le en ligne!

Satisfait

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C
  22. Chaque ligne contient un caractère de tabulation.
  23. La neuvième ligne contient au moins 22 caractères, excluant la nouvelle ligne.
  24. Le caractère de tabulation ne peut pas être le premier caractère d'une ligne
  25. Le dernier caractère est un onglet.
  26. Il y a au moins 28 lignes et elles sont toutes distinctes.
  27. Il doit y en avoir un >dans le code et les renforts d'angle doivent être équilibrés.
  28. Il doit y avoir plus de 88 points de code distincts dans le programme.
  29. L'avant-dernier caractère est un onglet (# 26) ET les lignes adjacentes doivent avoir des longueurs différentes

Pour les réponses futures:

  • La première ligne est une correspondance de palindrome .␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.(vous êtes libre de remplir les s).
  • Le deuxième caractère est l'un de ',16;, ou un onglet, ou l'un de \x04\x0e\x13\x18\x1d.
  • Sa longueur est un carré encore parfait.
  • Il y a au moins 28 lignes et toutes les lignes sont distinctes.
  • La neuvième ligne doit comporter au moins 22 caractères (sans la nouvelle ligne).
  • La dernière ligne ne contient aucun caractère en double.
  • Contient les chaînes exactes ->, Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.
  • Chaque ligne contient au moins un caractère de tabulation, mais il ne peut s'agir du premier caractère d'une ligne.
  • !". sont interdits sauf si nécessaire:
    • Seulement !en Hi, Retina!et les deux .et deux "dans la première ligne sont autorisés.
  • #$[\] peut ne pas apparaître dans le programme.
  • Les extrémités du programme avec: tab, (peu importe) , ~.
  • Les renforts d'angle doivent être équilibrés.
  • Il doit y avoir plus de 88 points de code distincts dans le programme.
  • Les lignes adjacentes doivent avoir des longueurs différentes
mbomb007
la source
J'essayais d'ajouter ceci au pilote, mais le "poisson" binaire ne l'acceptait pas. Quelle est la manière appropriée de l'exécuter?
Davis Yoshida
@DavisYoshida Le lien TIO que j'ai partagé des œuvres. Idk comment
mbomb007
Oui, il n'y a rien de mal à cela, mais si vous voulez l'exécuter à partir d'un script bash, vous devez faire appel à un interprète
Davis Yoshida
@DavisYoshida Demandez à Dennis dans la salle de discussion de TIO.
mbomb007
@DavisYoshida C'est comme ça que TIO appelle poisson: github.com/TryItOnline/tryitonline/blob/master/wrappers/fish
Potato44
2

1. Ajouter ++ , 7 octets

D,f,@,1

Essayez-le en ligne!

Peut-être aussi bien ajouter Add ++ avant que les choses ne deviennent difficiles. C'est très simplement une traduction du premier exemple en Add ++. D,f,@,1définit une fonction qui, quel que soit l'argument donné, retourne 1.

caird coinheringaahing
la source
2

4. empilés , 10 octets

.3[#'even]

Essayez-le en ligne!

Vérifie si la durée du programme est égale. Fonction anonyme qui renvoie les 1entrées "vraies" et les entrées 0"fausses".

Satisfait:

  1. commence par un .
  2. contient un e
  3. a une longueur égale
Conor O'Brien
la source
Comment puis-je passer une entrée à ce code? Ce n'est pas clair pour moi du lien TIO.
Wheat Wizard
@ user56656 essayez de remplacer la chaîne avant f out par ce que vous voulez tester. Enveloppant des guillemets simples, échappez à une seule citation en la doublant
Conor O'Brien
Oh je vois, vous avez changé le code, c'est pourquoi il n'apparaît pas dans le pied de page.
Wheat Wizard
@ user56656 oh oui, désolé pour ça
Conor O'Brien
2

24, SNOBOL4 (CSNOBOL4) , 256 octets

.;*->+|a	"x"	a|+>-*;.
	x =input
	x =input
	x =input
	x =input
	x =input
	x =input
	x =input
	x =input;* Henry Jams?
	X =INPUT
	OUTPUT =GT(SIZE(X),21)	1
	
	
	
	
	
	
	
	
	
	
	
	
	
end	
	ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234
	Hi, Retina!
	~

Essayez-le en ligne!

Imprime 1pour la vérité et ne génère rien pour Falsey.

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème personnage est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient un +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés cinq fois au total: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C
  22. Chaque ligne contient un caractère de tabulation.
  23. La neuvième ligne contient au moins 22 caractères, excluant la nouvelle ligne.

Pour les réponses futures:

  • Le premier caractère est un ., de même que le 21ème caractère (règle palindromique).
  • Le 10ème caractère est un ", de même que le 12ème (règle palindromique).
  • La première ligne est un palindrome de longueur 21.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4 et son point de code est inférieur à 60 (les éléments imprimables sont ',1;6et Tab).
  • Le dernier caractère est ~.
  • Sa longueur est un carré encore parfait.
  • Il fait au moins 28 lignes.
  • La neuvième ligne doit comporter au moins 22 caractères, excluant la nouvelle ligne.
  • La dernière ligne non vide ne contient aucun caractère en double.
  • Contient les chaînes exactes ->, Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.
  • Chaque ligne contient un caractère de tabulation.
  • Chaque programme est maintenant autorisé uniquement les 2 .et 2 "dans la première ligne, et !dans le Hi, Retina!. Ces caractères ne peuvent être utilisés nulle part ailleurs, sans aucune utilisation de #$[\].
Giuseppe
la source
1

2. Triangularité , 17 octets

..)..
.)Im.
"."=.

Essayez-le en ligne!

Vérifie si le premier caractère est un point ( .).

M. Xcoder
la source
15
Vous avez déjà éliminé beaucoup de langues pratiques. :(
totalement humain
Cela n'inclut pas Python, mais cela exclut en effet Haskell
M. Xcoder
2
si votre langue supporte les flotteurs, le fait d'être n'importe où dans le code .3ou similaire fonctionnerait
Conor O'Brien
C'est un problème
Wheat Wizard
@ user56656 Aïe, cela semble être un bogue interne à l'indexation ... Je le corrigerai plus tard dans la
journée
1

8. R , 64 octets

.0->z;x=readLines();y=Vectorize(utf8ToInt)(x);any(grepl("->",x))

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un .
  2. Il contient un e
  3. Sa longueur est égale
  4. Sa longueur est un carré parfait
  5. Il contient un a
  6. Il contient un >personnage
  7. Contient la séquence exacte ->dans l'une de ses lignes.
Giuseppe
la source
1

10. Somme , 64 octets

.1->Hi, Retina! I like French :D
"RVll;d.h:and random stuff too!

Essayez-le en ligne!

Vérifiez-le en ligne!

Satisfait:

  1. Le premier caractère est un .
  2. Il contient un e
  3. Sa longueur est égale
  4. Sa longueur est un carré parfait
  5. Il contient un a
  6. Il contient un >personnage
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.

Pour les réponses futures:

  • Le premier caractère est un .
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4.
Conor O'Brien
la source
1

7. Whispers , 66 octets

.abcdefghijklmnopqrstuvwxyz
> ">"
> InputAll
>> 1∈2
>> Output 3

Essayez-le en ligne!

Sorties soit Trueou False. Notez la nouvelle ligne de fuite.

Satisfait:

  1. Le premier caractère est un .
  2. Il contient un e
  3. Sa longueur est égale
  4. Sa longueur en caractères est un carré parfait
  5. Il contient un a
  6. Il contient un >personnage
caird coinheringaahing
la source
Juste pour votre information, cela a 64 octets, pas 64 caractères. non significatif, à noter
Conor O'Brien
La réponse Python 3 (# 5) renvoie false lorsque cela est transmis en tant qu'entrée. Je pense que cela peut être corrigé en supprimant 2 caractères de l'alphabet en haut.
Potato44
@ Potato44 Etes-vous sûr d'inclure la nouvelle ligne?
Caird coinheringaahing
Oui, j'ai vérifié à nouveau et j'ai eu la nouvelle ligne. c’est parce que le est un caractère multi-octets, et je crois que la soumission Python compte les octets.
Potato44
@ Potato44 Non, c'est parce que la soumission Python ne lit que la première ligne d'entrée, pas le tout
caird coinheringaahing
1

3. Gelée , 5 octets

.
”ee

Essayez-le en ligne!

Vérifie si l'entrée contient un ecaractère. Changé de à eparce que cela semblait injuste aux langues sans ce caractère. Et, pour vérifier, voici un hexdump:

00000000: 2e0a ff65 65                             ...ee

Satisfait:

  1. Commence par un .
  2. Contient un e
caird coinheringaahing
la source
2
5 octets me disent que cela voulait dire être dans la page de code de la gelée. Pouvons-nous avoir un hexdump?
Potato44
@ Potato44 Hexdump ajouté
caird coinheringaahing
1

18. Python 3 , 144 octets

.6;"ea->?"#"?>-ae";6.
"Hi, Retina!"
import sys
print(len(sys.stdin.read().split("\n"))>26+1)








































"|||||"
4.2

Essayez-le en ligne!

Sortie Truesi l'entrée est longue d'au moins 28 lignes, Falsesinon.

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.

Pour les réponses futures:

  • Le premier caractère est un ..
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4.
  • Le 10ème personnage est un " , de même que le douzième caractère (règle palindromique).
  • La dernière ligne non vide ne contient aucun caractère en double.
  • La première ligne est un palindrome de longueur = 21
  • Il contient un ?.
  • Il contient un |.
  • Il contient un +.
  • Il fait au moins 28 lignes.
M. Xcoder
la source
1

16: Quarterstaff , 64

1 est la vérité,

.1......."a".......1.
   1->a[Hi, Retina!]
  ?[-124(.|>a)?]
49a!

Essayez-le en ligne!

l'indentation ne fait rien, au fait.

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |

Pour les réponses futures:

  • Le premier caractère est un ..
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4.
  • Le dixième caractère est un" , de même que le douzième caractère (règle palindromique).
  • La dernière ligne non vide ne contient aucun caractère en double.
  • La première ligne est un palindrome de longueur = 21
  • Il contient un ?.
  • Il contient un |
Citron destructible
la source
oui mais si la réponse pyth ne vérifie pas "a", que vérifie-t-elle ???
Citron destructible
La réponse pyth vérifie que la première ligne contient un a, ceci est dû à la façon dont pyth prend les entrées. Il semble que le PO ait commis une erreur en écrivant ou en analysant son propre code. Deux réponses précédentes ont également ce problème.
Wheat Wizard
@ user56656 c'était une solution facile
Lemon destructible
@ uset56656 J'ai corrigé le code Pyth maintenant. J'espère que je n'ai rien cassé. En effet, j'ai commis une erreur en copiant-collant à partir de l'interprète en ligne, en prenant accidentellement le mauvais programme. Mes excuses pour le derangement!
M. Xcoder
1

15. Python 3, 64 octets

.1and(11*"""*11(dna1.
Hi, Retina!->   """)and(lambda s:"?"
in s)

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.

Pour les réponses futures:

  • Le premier caractère est un ..
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4.
  • Le 10ème caractère est un ".
  • La dernière ligne non vide ne contient aucun caractère en double.
  • La première ligne est un palindrome de longueur = 21
  • Il contient un ?.
SuperStormer
la source
@ mbomb007 corrigé
SuperStormer
1

31. Octave , 324 octets

Nouvelle exigence: Tous les codes ASCII imprimables qui ne sont pas interdits auparavant doivent faire partie du code. La liste complète est: !"%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~.

.6;%+<-?|"	"|?-<+%;6.
f=@(x)all(ismember(horzcat(33,34,46,' %&''()*+,=/0123456789:;<->?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~'),x));	
%	>>
%	V'quQ9g8u'@f/&'A)eLS;p`t'{ZYv4R3aaa
%	bb
%	c
%	dd
%Henry Jams?Hi, Retina!	
%	e
%	ff
%	g
%	hh
%	i
%	jj
%	k
%	ll
%	m
%	nn
%	o
%	pp
%	q
%	rr
%	s
%	tt
%	u
%	vvv
%	a~

Essayez-le en ligne!

  1. Il contient un e.
  2. Sa longueur est égale.
  3. Sa longueur est un carré parfait.
  4. Il contient un a.
  5. Il contient un >personnage.
  6. Contient la chaîne exacte ->.
  7. Contient la chaîne exacte Hi, Retina!.
  8. La somme des deux premiers points de code Unicode est un multiple de 5.
  9. Le 10ème caractère est un ".
  10. La dernière ligne non vide ne contient aucun caractère en double.
  11. La première ligne est un palindrome de longueur> 5.
  12. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  13. Il contient un ?.
  14. Il contient un |.
  15. Contient a +.
  16. Il fait au moins 28 lignes.
  17. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  18. Contient en Henry Jams?tant que sous-chaîne continue.
  19. Le dernier caractère est ~.
  20. Il contient un C
  21. Chaque ligne contient un caractère de tabulation.
  22. La neuvième ligne contient au moins 22 caractères, excluant la nouvelle ligne.
  23. Le caractère de tabulation ne peut pas être le premier caractère d'une ligne
  24. Le dernier caractère est un onglet.
  25. Il y a au moins 28 lignes et elles sont toutes distinctes.
  26. Il doit y en avoir un >dans le code et les renforts d'angle doivent être équilibrés.
  27. Il doit y avoir plus de 88 points de code distincts dans le programme.
  28. L'avant-dernier caractère est un onglet (# 26) ET les lignes adjacentes doivent avoir des longueurs différentes
  29. Tous les caractères imprimables ASCII qui n'étaient pas interdits auparavant doivent faire partie du code. La liste complète est:!"%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~

Pour les réponses futures:

  • La première ligne est une correspondance de palindrome .␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.(vous êtes libre de remplir les s).
  • Le deuxième caractère est l'un de ',16;, ou un onglet, ou l'un de \x04\x0e\x13\x18\x1d.
  • Sa longueur est un carré encore parfait.
  • Il y a au moins 28 lignes et toutes les lignes sont distinctes .
  • La neuvième ligne doit comporter au moins 22 caractères (sans la nouvelle ligne).
  • La dernière ligne ne contient aucun caractère en double.
  • Contient les chaînes exactes ->, Hi, Retina!et Henry Jams?.
  • Chaque ligne contient au moins un caractère de tabulation, mais il ne peut s'agir du premier caractère d'une ligne.
  • !". sont interdits sauf si nécessaire:
    • Seulement !en Hi, Retina!et les deux .et deux "dans la première ligne sont autorisés.
  • #$[\] peut ne pas apparaître dans le programme.
  • Les extrémités du programme avec: tab, (peu importe) , ~.
  • Les renforts d'angle doivent être équilibrés.
  • Il doit y avoir plus de 88 points de code distincts dans le programme.
  • Les lignes adjacentes doivent avoir des longueurs différentes
  • Il contient tous les fichiers ASCII imprimables qui n'étaient pas interdits auparavant. Les personnages sont: !"%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~.
Stewie Griffin
la source
Je le supprimerai volontiers si les fonctions cryptographiques sont interdites, mais ce n'est pas interdit à partir de maintenant. J'ai vraiment passé du bon temps à le forcer ...
Stewie Griffin
Si nous ne le refusons pas, quelqu'un pourrait utiliser SHA-256 ou pire, et encore une fois, il est impossible de prouver qu'un nombre infini de chaînes sont autorisées lors de l'utilisation de ces fonctions de hachage.
mbomb007
Tous mes tests montrent qu’il suffit de disposer de 3 (peut-être 4) octets qui peuvent être choisis avec soin, et vous obtiendrez l’exigence de chiffrement avec une force brute très simple. Je pourrais écrire une réponse qui rendrait très difficile la tâche de quelqu'un d'autre à suivre, sans utiliser de fonctions cryptographiques, car il n'y a pas de limite d'octets. Je pense qu'il est préférable de simplement décourager les réponses futures d' essayer délibérément de briser la chaîne. C'est juste mes deux centimes cependant :)
Stewie Griffin
Je pense que toute réponse qui oblige un autre répondant à utiliser la force brute est de mauvais goût.
mbomb007
Je suis d'accord dans une certaine mesure. C'est pourquoi je serais heureux de supprimer cette réponse si elle devient rejetée.
Stewie Griffin
0

6. Pyth , 16 octets

.e}\as.zS13    5

Essayez-le ici!

Vérifie si l'entrée contient un a. Sorties soit:

  • [True, True, True, True, True, True, True, True, True, True, True, True, True] pour la vérité

  • ou [False, False, False, False, False, False, False, False, False, False, False, False, False]pour fausseté

Satisfait:

  1. commence par un .
  2. contient un e
  3. a une longueur égale
  4. a une longueur carrée parfaite
  5. contient un a
M. Xcoder
la source
2
Corrigez-moi si je me trompe, mais après avoir testé la réponse sur laquelle je travaille, il semble seulement vérifier si un aest dans la première ligne. Au moins 2 réponses sont fausses car cela ne correspond pas à ce que dit le texte de cette réponse (et les gens ne testent pas leurs réponses).
Potato44
@ Potato44 Mon mauvais, excuses! Fixé.
M. Xcoder
@ Mr.Xcoder vous êtes-vous assuré qu'il ne satisfait à aucune des "conditions" futures? il ne semble pas
Citron destructible
@DestructibleLemon Est-ce que cela répond aux conditions futures? Je n'arrivais pas à trouver une exigence que cela violerait.
M. Xcoder
@ Mr.Xcoder Je crois que ce n'est pas le cas
Citron destructible
0

20. Gelée , 100 octets

Ce code vérifie si oui ou non Henry Jams?. Retourne 1pour la vérité, 0pour la fausseté.

.6;%+->?|"e"|?>-+%;6.
Hi, Retina!->0123456789
0123456789
0123
























“Henry Jams?”ẇ

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.

Pour les réponses futures:

  • Le premier caractère est un ., de même que le 21ème caractère (règle palindromique).
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4 et son point de code est inférieur à 60.
  • Le dixième caractère est un" , de même que le douzième caractère (règle palindromique).
  • La dernière ligne non vide ne contient aucun caractère en double.
  • La première ligne est un palindrome de longueur = 21
  • Il contient un ?.
  • Il contient un |.
  • Il contient un +.
  • Il fait au moins 28 lignes.
  • Les caractères suivants ne peuvent être utilisés cinq fois au total: !"#$.[\].
    • Chaque programme est maintenant autorisé uniquement les 2 .et 2 "dans la première ligne, et !dans le Hi, Retina!. Ces caractères ne peuvent être utilisés nulle part ailleurs, sans aucune utilisation de #$[\].
  • Chaque programme doit contenir Henry Jams?une sous-chaîne continue.
Dylnan
la source
0

22 octave , 100 octets

Résumé: Il doit maintenant y avoir une majuscule Cdans le code.

.6;%+->?|"e"|?>-+%;6.
'Hi, Retina!Henry Jams?';
f=@(x)any(x=='C');
%Any C?























%~

Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.
  19. Contient en Henry Jams?tant que sous-chaîne continue.
  20. Le dernier caractère est ~.
  21. Il contient un C

Pour les réponses futures:

  • Le premier caractère est un ., de même que le 21ème caractère (règle palindromique).
  • Le 10ème caractère est un ", de même que le 12ème (règle palindromique).
  • La première ligne est un palindrome de longueur 21.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4 et son point de code est inférieur à 60 (les éléments imprimables sont ',1;6et Tab).
  • Le dernier caractère est ~.

  • Sa longueur est un carré encore parfait.
  • Il fait au moins 28 lignes.
  • La dernière ligne non vide ne contient aucun caractère en double.

  • Contient la séquence exacte ->.
  • Contient les chaînes exactes Hi, Retina!et Henry Jams?.
  • Il contient |, +et C.

  • Chaque programme est maintenant autorisé uniquement les 2 .et 2 "dans la première ligne, et !dans le Hi, Retina!. Ces caractères ne peuvent être utilisés nulle part ailleurs, sans aucune utilisation de #$[\].
Stewie Griffin
la source
0

19, octave , 196 octets

Remarque: j'ai modifié le code pour corriger une erreur. Le seul changement consistait à inclure la règle du palindrome. Cela évite un faux positif pour la réponse 10.


Jusqu'à présent, la plupart des exigences peuvent facilement être contournées à l'aide de commentaires et de chaînes supprimées, ce qui rend l'ajout de réponses trivial. Je pensais que je le rendrais un peu plus difficile en refusant certains personnages à la place.

.6;%+->?|"e"|?>-+%;6.
f=@(x)all(ismember('Hi, Retina!',x))&sum(ismember(x,cat(2,33:36,46,91:93,'')))<6&x(2)<60&all((k=x(1:find(x==10,1)-1))==flip(k))
%












































Essayez-le en ligne!

Satisfait:

  1. Le premier caractère est un ..
  2. Il contient un e.
  3. Sa longueur est égale.
  4. Sa longueur est un carré parfait.
  5. Il contient un a.
  6. Il contient un >personnage.
  7. Contient la chaîne exacte ->.
  8. Contient la chaîne exacte Hi, Retina!.
  9. La somme des deux premiers points de code Unicode est un multiple de 5.
  10. Le 10ème caractère est un ".
  11. La dernière ligne non vide ne contient aucun caractère en double.
  12. La première ligne est un palindrome de longueur> 5.
  13. La première ligne contient exactement 21 caractères (sans nouvelle ligne).
  14. Il contient un ?.
  15. Il contient un |.
  16. Contient a +.
  17. Il fait au moins 28 lignes.
  18. Les caractères suivants sont utilisés au total cinq fois: !"#$.[\]le point de code du deuxième caractère est inférieur à 60.

Pour les réponses futures:

  • Le premier caractère est un ., de même que le 21ème caractère (règle palindromique).
  • Sa longueur est un carré encore parfait.
  • Contient la séquence exacte ->.
  • Contient la chaîne exacte Hi, Retina!.
  • Le point de code Unicode du deuxième caractère, mod 5, est 4 et son point de code est inférieur à 60.
  • Le dixième caractère est un" , de même que le douzième caractère (règle palindromique).
  • La dernière ligne non vide ne contient aucun caractère en double.
  • La première ligne est un palindrome de longueur = 21
  • Il contient un ?.
  • Il contient un |.
  • Il contient un +.
  • Il fait au moins 28 lignes.
  • Les caractères suivants ne peuvent être utilisés cinq fois au total: !"#$.[\].
    • Chaque programme est maintenant autorisé uniquement les 2 .et 2 "dans la première ligne, et !dans le Hi, Retina!. Ces caractères ne peuvent être utilisés nulle part ailleurs, sans aucune utilisation de #$[\].
Stewie Griffin
la source
Je n'ai pas voté vers le bas, mais en citant OP:This will probably be more fun if you try to maximize your own score rather than "win" the challenge.
Uriel
Je n'ai pas voté vers le bas, mais peut-être que le votant l'a fait parce que vous validez deux choses dans une réponse au lieu d'une. Aucune règle n'autorise cela, mais je peux imaginer que quelqu'un vote à la baisse à cause de cela. (Ou parce qu'ils avaient prévu une réponse qui n'est plus possible, bien que ce soit une raison assez enfantine de réduire le vote à la baisse.) Parce que je ne vois rien qui cloche avec ça, j'ai voté pour la neutralisation.
Kevin Cruijssen
pouvez-vous augmenter la limite de 5 caractères ou l'exclure .avant qu'une autre réponse ne soit due? comme la première ligne est palindrome, il ne laisse que 3 points, ce qui est presque impossible dans la plupart des langs verbaux POO. aussi 5 "et `` rend presque impossible la création de chaînes multilignes
Uriel
La bonne nouvelle est que je connais quelques langues qui devraient encore fonctionner.
mbomb007
Merci de l'avoir remarqué, je l'ai corrigé maintenant sans affecter la chaîne. Je dois avoir copié le code du mauvais onglet (j'avais des codes similaires dans plusieurs onglets à des fins de test).
Stewie Griffin