Dérivé de ce message, maintenant supprimé.
Étant donné une chaîne, répondez (vérité / fausse ou deux valeurs cohérentes) si elle constitue un bon mot de passe Bishop, c'est-à-dire lorsque toutes les conditions suivantes sont remplies:
il a au moins 10 caractères
il a au moins 3 chiffres (
[0-9]
)ce n'est pas un palindrome (identique à lui-même lorsqu'il est inversé)
Vous obtenez 0 octets de bonus si votre code est un bon mot de passe Bishop.
Avertissement: N'utilisez pas la bonté Bishop comme mesure de la force réelle du mot de passe!
Exemples
Bons mots de passe Bishop
PPCG123GCPP
PPCG123PPCG
PPCG123gcpp
0123456789
Tr0ub4dor&3
Pas de bons mots de passe Bishop
PPCG123
(trop court)
correct horse battery staple
(pas assez de chiffres)
PPCG121GCPP
(palindrome)
(trop court et pas assez de chiffres)
abc121cba
(trop court et palindrome)
aaaaaaaaaaaa
(palindrome et pas assez de chiffres)
abc99cba
(tout va mal)
Réponses:
Python 2 ,
61595451 octetsEssayez-le en ligne!
-5 octets, grâce à Erik l'Outgolfer
-3 octets, grâce à xnor
la source
s[:9]<s
, ce qui se combine bien avec le contrôle non palindrome:s[:9]<s!=s[::-1]
05AB1E , 12 octets
Essayez-le en ligne ou vérifiez tous les cas de test .
Explication:
la source
Japt ,
1714 octets-3 octets réorganisés par @Shaggy
Essayez-le en ligne!
Japt , 15 octets (bonus de 0 octet: v)
Essayez-le en ligne!
la source
R ,
8070626463 octetsEssayez-le en ligne!
De digEmAll, et certains réarrangements aussi
Essayez-le en ligne!
Assez simple, pas de vrais trucs incroyables ici. Après la chaîne de saisie utilisateur:
la source
!all(s==rev(s))
parany(s!=rev(s))
ce qui permettra d'économiser un octet. J'ai l'impression que la vérification de la longueur peut également être réduite, mais je ne sais pas comment (nchar
ou une sorte desum(x|1)
piratage)any(s>rev(s))
cela fonctionnera --- si un personnage est inférieur à son homologue palindromique, alors à l'autre extrémité du mot de passe, l'inverse sera vrai. Cela économise un autre octet.>2
APL + WIN,
36, 3029 octets7 octets économisés grâce à Adám
Origine de l'index = 0
Demande la chaîne d'entrée
Essayez-le en ligne! Gracieuseté de Dyalog Classic
Explication:
Le code est également admissible au bonus car il s'agit d'un bon mot de passe Bishop.
la source
≢
ce qui est~
…≡
? Et même si vous ne le faites pas, vous pouvez fusionner×~
en>
Brachylog ,
1812 octetsMerci pour les conseils, Kroppeb et Fatalize !
Essayez-le en ligne!
Explication
Le programme est un prédicat unique, composé de deux parties chaînées
&
.Première:
Seconde:
la source
{∋.∈Ị∧}ᶜ
peut être{∋ị}ᶜ
¬↔?l>9&ịˢl>2
ị
, mais il est logique que cela réussisse si le caractère est un chiffre. Merci!?
qui est bien. Merci!Gelée , 12 octets
Essayez-le en ligne!
[]
si pas assez de chiffres (liste vide, fausse),0
sinon mauvais (zéro, fausse),1
si bon (différent de zéro, vrai).la source
Java 8, 92 octets
Essayez-le en ligne.
Explication:
la source
JavaScript,
605646 octetsPrend l'entrée comme un tableau de caractères. Sorties
1
pour véridique et0
pour falsey.Essayez-le en ligne!
10 octets enregistrés (!) Grâce à Arnauld .
la source
Raquette , 122 octets
Essayez-le en ligne!
la source
APL (Dyalog Unicode) , 25 octets SBCS
Essayez-le en ligne!
la source
(9<≢)∧(3≤1⊥∊∘⎕D)∧⊢≢⌽
puis enregistrez un octet de plus en le réorganisant pour éviter les parens:(9<≢)∧≢∘⌽⍨∧3≤1⊥∊∘⎕D
faites-leur savoir si vous avez besoin d'explications sur ces étapes.Perl 5
-p
, 33 octetsTIO
la source
Nettoyer , 66 octets
Essayez-le en ligne!
s<>reverse s
:s
n'est pas un palindromes%%(0,8)<s
: les 9 premiers caractères des
sont inférieurs à touss
sum[1\\c<-s|isDigit c]>2
:s
a plus de deux chiffresla source
Retina 0.8.2 , 40 octets
Essayez-le en ligne! Le lien inclut des cas de test. Explication:
Vérifie au moins 10 caractères.
Vérifie au moins 3 chiffres.
Supprimez le premier et le dernier caractère s'ils correspondent.
S'il y a au moins 2 personnages, ce n'était pas un palindrome.
Les groupes d'équilibrage de .NET signifient que cela peut être fait dans une seule expression régulière, mais cela prend 47 octets:
Essayez-le en ligne! Le lien inclut des cas de test.
la source
Rouge ,
117111 octetsEssayez-le en ligne!
la source
Python 3 ,
747264 octetsMerci Neil A. pour -2 octets!
Merci Jo King pour -8 octets!
Explication:
Essayez-le en ligne!
la source
Perl 6 , 32 octets
Essayez-le en ligne!
Bloc de code anonyme qui applique simplement que toutes les règles sont respectées.
Explication:
la source
K (oK) ,
3128 octets-3 octets grâce à ngn!
Essayez-le en ligne!
la source
+//
(somme jusqu'à convergence) au lieu de+/+/
(somme somme)x^x^y
pour trouver l'intersection entre deux listes:#x^x^,/!10
. cela peut être raccourci à#x^x^/!10
(^
est "sans",x^/
... est^
-réduction avec la valeur initialex
)>
(ou<
) peut être utilisée comme "et non":{(x~|x)<(2<#x^x^/$!10)*9<#x}
JavaScript (Node.js) , 70 octets
Essayez-le en ligne!
Renvoie 1 pour vrai et 0 pour faux
la source
C # (Visual C # Interactive Compiler) , 67 octets
Essayez-le en ligne!
la source
Pip , 19 octets
Essayez-le en ligne! (tous les cas de test)
Explication
Étant
a
le premier argument de ligne de commande:la source
Stax , 14 octets
Exécuter et déboguer
la source
Pyth, 17 octets
Essayez-le en ligne ici ou vérifiez tous les cas de test en même temps ici .
la source
Groovy, (47 octets)
(L'inclusion de bonus est laissée au lecteur comme exercice)
la source