Nota: Isso é inspirado nesta pergunta no @Willbeing, onde a tarefa era contar o número de pratos perfeitos de um determinado comprimento, mas é um pouco diferente.
Chamamos uma placa perfeita de placa cujo texto satisfaz as seguintes condições:
- Consiste em caracteres, que podem ser letras maiúsculas (
[A-Z]
) ou dígitos ([0-9]
) - Somando as posições de suas letras no alfabeto inglês, 1 indexado (ie :)
A=1,B=2,...,Z=26
fornece um número inteiro n - Obter cada pedaço de dígito, somar e depois multiplicar todos os resultados dá o mesmo resultado, n
- n é um quadrado perfeito (por exemplo:
49
(7 2 ) ,16
(4 2 ) )
Uma placa quase perfeita atende às condições para uma placa perfeita, exceto que n não é um quadrado perfeito.
Entrada
Uma sequência que representa o texto da placa do veículo, tomada como entrada em qualquer formato padrão, exceto na codificação codificada.
Resultado
Se a sequência especificada representar uma placa quase perfeita , retorne um valor verdadeiro (por exemplo: True
/ 1
), caso contrário, retorne um valor falso (por exemplo: False
/ 0
). Qualquer forma padrão de saída é aceita enquanto se observa que essas brechas são estritamente proibidas.
Exemplos
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!
Pontuação
Isso é código-golfe , então a resposta mais curta em bytes vence!
n
for um quadrado perfeito?
s/licence/license/ig
isso, lembre-se de que "licença" é a grafia correta no inglês britânico (assim como em outras partes do mundo).