Nota: questo si ispira a questa domanda di @Willbeing in cui il compito era contare il numero di piatti perfetti di una certa lunghezza, ma è leggermente diverso.
Chiamiamo una targa perfetta quella targa il cui testo soddisfa le seguenti condizioni:
- È composto da caratteri, che possono essere lettere maiuscole (
[A-Z]
) o cifre ([0-9]
) - Sommando le posizioni delle sue lettere nell'alfabeto inglese, 1-indicizzato (cioè :) si
A=1,B=2,...,Z=26
ottiene un numero intero n - Ottenere ogni blocco di cifre, sommarle e quindi moltiplicare tutti i risultati produce lo stesso risultato, n
- n è un quadrato perfetto (ad esempio:
49
(7 2 ) ,16
(4 2 ) )
Una targa quasi perfetta soddisfa le condizioni per una targa perfetta, tranne per il fatto che n non è un quadrato perfetto.
Ingresso
Una stringa che rappresenta il testo della targa, presa come input in qualsiasi formato standard, ad eccezione dell'hardcoding.
Produzione
Se la stringa indicata rappresenta una targa quasi perfetta , restituisce un valore di verità (ad esempio: True
/ 1
), altrimenti restituisce un valore di falsa (ad esempio: False
/ 0
). È accettata qualsiasi forma standard di output, tenendo presente che queste scappatoie sono severamente vietate.
Esempi
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!
punteggio
Questo è code-golf , quindi vince la risposta più breve in byte!
n
è un quadrato perfetto?
s/licence/license/ig
, tieni presente che "licenza" è l'ortografia corretta in inglese britannico (così come in inglese in altre parti del mondo).