Validate International Securities Identification Number: Difference between revisions

Content added Content deleted
(Added XPL0 example.)
(Added 11l)
Line 63: Line 63:
<br>
<br>
<hr>
<hr>

=={{header|11l}}==
{{trans|Python}}

<lang 11l>F check_isin(a)
I a.len != 12
R 0B
[Int] s
L(c) a
I c.is_digit()
I L.index < 2
R 0B
s.append(c.code - 48)
E I c.is_uppercase()
I L.index == 11
R 0B
V (d, m) = divmod(c.code - 55, 10)
s [+]= [d, m]
E
R 0B
V v = sum(s[((len)-1..0).step(-2)])
L(=k) s[((len)-2..).step(-2)]
k = 2 * k
v += I k > 9 {k - 9} E k
R v % 10 == 0

print([‘US0378331005’, ‘US0373831005’, ‘U50378331005’, ‘US03378331005’,
‘AU0000XVGZA3’, ‘AU0000VXGZA3’, ‘FR0000988040’].map(s -> check_isin(s)))</lang>

{{out}}
<pre>
[1B, 0B, 0B, 0B, 1B, 1B, 1B]
</pre>


=={{header|360 Assembly}}==
=={{header|360 Assembly}}==