介绍:
符合以下规则的荷兰BSN(BurgerServiceNummer)有效:
- 它仅包含数字。
- 长度应为8或9。
- 当
A
通过索引数字时I
,以下总和的结果:(请9xA + 8xB + 7xC + 6xD + 5xE + 4xF + 3xG + 2xH + -1xI
注意-1而不是1!)应该被11整除,并且不应该为0。
挑战:
输入:代表BSN的字符串或字符数组。
输出:甲truthy或falsey结果输入是否是有效的BSN。
挑战规则:
- 输入格式应为字符串或字符数组。不允许使用数字的整数数组或(可能是八进制)数字。(不过,您可以自己将其转换为数字的整数数组,但不能直接将其作为参数。)
- 尽管上面的输入有限制,但您可以假定所有测试用例都将包含一个或多个数字(
[0-9]+
) - 关于长度为8而不是9的BSN,荷兰维基百科指出:“ 对于11次测试和其他实际用途,添加前导零以使长度为9。 ”(来源)
一般规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 - 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法,完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能,请为您的代码添加一个带有测试的链接。
- 另外,如有必要,请添加说明。
测试用例:
// Truthy test cases:
111222333
123456782
232262536
010464554
10464554
44016773
// Falsey test cases:
000000000
192837465
247594057
88888888
73
3112223342
000000012
A
从公式中省略了(或基本上添加了导致0
其长度为9 的前导,导致与省略相同的结果A
)。
A
从给定的公式中忽略了一位吗?