Not: Bu esinlenerek bu soruya @Willbeing görev belirli bir uzunlukta kusursuz plakaların sayısını saymak için, ama biraz farklı.
Metni aşağıdaki koşulları sağlayan plakaya mükemmel bir plaka diyoruz :
- Büyük harfler (
[A-Z]
) veya rakamlar ([0-9]
) olabilen karakterlerden oluşur - İngiliz alfabesinde harflerinin konumlarını toplayarak, 1 dizinli (yani
A=1,B=2,...,Z=26
:) bir tamsayı n verir - Her basamak grubunu almak, toplamak ve ardından tüm sonuçları çarpmak aynı sonucu verir, n
- n mükemmel bir karedir (örneğin:
49
(7 2 ) ,16
(4 2 ) )
Bir neredeyse mükemmel plaka dışında mükemmel bir plaka için gerekli koşulları karşılayan n olan değil mükemmel bir kare.
Giriş
Plaka metnini temsil eden ve sabit kodlama haricinde herhangi bir standart biçimde girdi olarak alınan bir dize.
Çıktı
Verilen dize neredeyse mükemmel bir plakayı temsil ediyorsa, doğruluk değeri döndürün (örneğin: True
/ 1
), aksi takdirde yanlış bir değer döndürün (örneğin: False
/ 0
). Bu boşlukların kesinlikle yasak olduğunu dikkate alırken herhangi bir standart çıktı biçimi kabul edilir .
Örnekler
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!
puanlama
Bu kod golf , bu yüzden bayt en kısa cevap kazanır!
n
olduğunu değil mükemmel bir kare?
s/licence/license/ig
, "lisans" ın İngiliz İngilizcesinde (ve dünyanın diğer bölgelerinde İngilizce) doğru yazım olduğunu unutmayın.