Giriş:
Bir Hollandalı BSN (BurgerServiceNummer), aşağıdaki kurallara uyduğunda geçerlidir:
- Sadece rakam içeriyor.
- Uzunluk 8 veya 9 uzunlukta olmalıdır.
- Rakamlar
A
içinden olduğu gibi endekslendiğindeI
, aşağıdaki toplamın sonucu:9xA + 8xB + 7xC + 6xD + 5xE + 4xF + 3xG + 2xH + -1xI
(1! Yerine -1!) Not 11 ile bölünebilir olmalı ve 0 olmamalıdır.
Meydan okuma:
Giriş: BSN'yi temsil eden bir dize veya karakter dizisi.
Çıktı: Girinin geçerli bir BSN olup olmadığına ilişkin bir gerçek veya yanlış sonuç.
Mücadele Kuralları:
- Giriş formatı bir dizge veya karakter dizisi olmalıdır. İnt dizisi veya bir (muhtemelen sekizli) sayı kullanmanıza izin verilmez. (Ancak, kendiniz, ancak doğrudan bir argüman olarak değil, bir int dizisine dönüştürmenize izin verilir.)
- Yukarıdaki giriş üzerindeki kısıtlamaya rağmen, tüm test durumlarının bir veya daha fazla basamak içereceğini varsayabilirsiniz (
[0-9]+
) - BSN ile ilgili olarak, 9 yerine 8 uzunluğuyla, Hollandalı Vikipedi, şunları ifade eder: " Onbirlik test ve diğer pratik kullanımlar için, uzunluk 9'unu yapmak için önde gelen sıfır eklenir. " ( Kaynak )
Genel kurallar:
- Bu kod golf , bayt cinsinden en kısa cevap kazanır.
Code-golf dillerinin, codegolfing olmayan dillerle cevap göndermekten vazgeçmesine izin vermeyin. Herhangi bir programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyonlar / yöntem ile uygun parametreler, tam programlar kullanabilirsiniz. Senin çağrı.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, lütfen gerekirse bir açıklama ekleyin.
Test durumları:
// Truthy test cases:
111222333
123456782
232262536
010464554
10464554
44016773
// Falsey test cases:
000000000
192837465
247594057
88888888
73
3112223342
000000012
A
formülden yoksun (veya temelde 0
uzunluğu 9 yapmak için bir satır ekler , atlamakla aynı sonuçla sonuçlanır A
).
A
verilen formülden bir atlamanın olduğu doğru mu?