Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
39
Task/CUSIP/Jq/cusip.jq
Normal file
39
Task/CUSIP/Jq/cusip.jq
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
def isCusip:
|
||||
length == 9 and
|
||||
explode as $s
|
||||
| {sum: 0, i: 0}
|
||||
| until(. == false or .i == 8;
|
||||
$s[.i] as $c
|
||||
| (if ($c >= 48 and $c <= 57) # '0' to '9'
|
||||
then $c - 48
|
||||
elif ($c >= 65 and $c <= 90) # 'A' to 'Z'
|
||||
then $c - 55
|
||||
elif $c == 42 # '*'
|
||||
then 36
|
||||
elif $c == 64 # '@'
|
||||
then 37
|
||||
elif $c == 35 # '#'
|
||||
then 38
|
||||
else false # return false
|
||||
end ) as $v
|
||||
| if $v == false then false
|
||||
else # check if odd as using 0-based indexing
|
||||
(if (.i%2 == 1) then 2 * $v else $v end) as $v
|
||||
| .sum += (($v/10)|floor) + $v%10
|
||||
| .i += 1
|
||||
end )
|
||||
| if . == false then false
|
||||
else $s[8] - 48 == (10 - (.sum%10)) % 10
|
||||
end;
|
||||
|
||||
def candidates: [
|
||||
"037833100",
|
||||
"17275R102",
|
||||
"38259P508",
|
||||
"594918104",
|
||||
"68389X106",
|
||||
"68389X105"
|
||||
];
|
||||
|
||||
candidates[]
|
||||
| "\(.) -> \(if isCusip then "correct" else "incorrect" end)"
|
||||
Loading…
Add table
Add a link
Reference in a new issue