Remarque: Ceci est inspiré par cette question de @Willbeing où la tâche consistait à compter le nombre d'assiettes parfaites d'une certaine longueur, mais c'est légèrement différent.
Nous appelons une plaque d'immatriculation parfaite cette plaque dont le texte satisfait aux conditions suivantes:
- Il se compose de caractères, qui peuvent être des lettres majuscules (
[A-Z]
) ou des chiffres ([0-9]
) - En additionnant les positions de ses lettres dans l'alphabet anglais, 1-indexé (ie:)
A=1,B=2,...,Z=26
donne un entier n - Obtenir chaque bloc de chiffres, les additionner puis multiplier tous les résultats donne le même résultat, n
- n est un carré parfait (par exemple:
49
(7 2 ) ,16
(4 2 ) )
Une plaque d'immatriculation presque parfaite remplit les conditions d'une plaque d'immatriculation parfaite, sauf que n n'est pas un carré parfait.
Contribution
Une chaîne représentant le texte de la plaque d'immatriculation, prise en entrée sous n'importe quelle forme standard, à l'exception du codage en dur.
Production
Si la chaîne donnée représente une plaque d'immatriculation presque parfaite , retournez une valeur vraie (par exemple: True
/ 1
), sinon retournez une valeur fausse (par exemple: False
/ 0
). Toute forme standard de sortie est acceptée tout en prenant note que ces failles sont strictement interdites.
Exemples
licence plate -> output
A1B2C3 -> 1
A + B + C = 1 + 2 + 3 = 6
1 * 2 * 3 = 6
6 is not a perfect square, 6 = 6 => nearly perfect plate
01G61 -> 1
(0 + 1) * (6 + 1) = 7
G = 7
7 is not a perfect square, 7 = 7 => nearly perfect plate
11BB2 -> 0
(1 + 1) * 2 = 4
B + B = 2 + 2 = 4
4 = 4, but 4 is the square of 2 => perfect license plate (not what we want)
67FF1 -> 0
(6 + 7) * 1 = 13
F + F = 6 + 6 = 12
12 != 13 => not perfect at all!
Notation
C'est le code-golf , donc la réponse la plus courte en octets l'emporte!
n
n'est pas un carré parfait?
s/licence/license/ig
le fasse , sachez que «licence» est l'orthographe correcte en anglais britannique (ainsi qu'en anglais dans d'autres parties du monde).