24 lines
434 B
Text
24 lines
434 B
Text
F char2value(c)
|
||
assert(c !C ‘AEIOU’, ‘No vowels’)
|
||
R Int(c, radix' 36)
|
||
|
||
V sedolweight = [1, 3, 1, 7, 3, 9]
|
||
|
||
F checksum(sedol)
|
||
V tmp = sum(zip(sedol, :sedolweight).map((ch, weight) -> char2value(ch) * weight))
|
||
R String((10 - (tmp % 10)) % 10)
|
||
|
||
V sedols =
|
||
|‘710889
|
||
B0YBKJ
|
||
406566
|
||
B0YBLH
|
||
228276
|
||
B0YBKL
|
||
557910
|
||
B0YBKR
|
||
585284
|
||
B0YBKT’
|
||
|
||
L(sedol) sedols.split("\n")
|
||
print(sedol‘’checksum(sedol))
|