Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
57
Task/CUSIP/Ring/cusip.ring
Normal file
57
Task/CUSIP/Ring/cusip.ring
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# Project : CUSIP
|
||||
|
||||
inputstr = list(6)
|
||||
inputstr[1] = "037833100"
|
||||
inputstr[2] = "17275R102"
|
||||
inputstr[3] = "38259P508"
|
||||
inputstr[4] = "594918104"
|
||||
inputstr[5] = "68389X106"
|
||||
inputstr[6] = "68389X105"
|
||||
for n = 1 to len(inputstr)
|
||||
cusip(inputstr[n])
|
||||
next
|
||||
|
||||
func cusip(inputstr)
|
||||
if len(inputstr) != 9
|
||||
see " length is incorrect, invalid cusip"
|
||||
return
|
||||
ok
|
||||
v = 0
|
||||
sum = 0
|
||||
for i = 1 to 8
|
||||
flag = 0
|
||||
x = ascii(inputstr[i])
|
||||
if x >= ascii("0") and x <= ascii("9")
|
||||
v = x - ascii("0")
|
||||
flag = 1
|
||||
ok
|
||||
if x >= ascii("A") and x <= ascii("Z")
|
||||
v = x - 55
|
||||
flag = 1
|
||||
ok
|
||||
if x = ascii("*")
|
||||
v= 36
|
||||
flag = 1
|
||||
ok
|
||||
if x = ascii("@")
|
||||
v = 37
|
||||
flag = 1
|
||||
ok
|
||||
if x = ascii("#")
|
||||
v = 38
|
||||
flag = 1
|
||||
ok
|
||||
if flag = 0
|
||||
see " found a invalid character, invalid cusip" + nl
|
||||
ok
|
||||
if (i % 2) = 0
|
||||
v = v * 2
|
||||
ok
|
||||
sum = sum + floor(v / 10) + v % 10
|
||||
next
|
||||
sum = (10 - (sum % 10)) % 10
|
||||
if sum = (ascii(inputstr[9]) - ascii("0"))
|
||||
see inputstr + " is valid" + nl
|
||||
else
|
||||
see inputstr + " is invalid" + nl
|
||||
ok
|
||||
Loading…
Add table
Add a link
Reference in a new issue