Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
28
Task/Periodic-table/Jq/periodic-table.jq
Normal file
28
Task/Periodic-table/Jq/periodic-table.jq
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
def limits: [[3,10], [11,18], [19,36], [37,54], [55,86], [87,118]];
|
||||
|
||||
def periodicTable(n):
|
||||
if (n < 1 or n > 118) then "Atomic number is out of range." | error
|
||||
elif n == 1 then [1, 1]
|
||||
elif n == 2 then [1, 18]
|
||||
elif (n >= 57 and n <= 71) then [8, n - 53]
|
||||
elif (n >= 89 and n <= 103) then [9, n - 85]
|
||||
else
|
||||
first( range( 0; limits|length) as $i
|
||||
| limits[$i] as $limit
|
||||
| if (n >= $limit[0] and n <= $limit[1])
|
||||
then {row: ($i + 2),
|
||||
start: $limit[0],
|
||||
end: $limit[1] }
|
||||
else empty
|
||||
end)
|
||||
| if (n < .start + 2 or .row == 4 or .row == 5)
|
||||
then [.row, n - .start + 1]
|
||||
else [.row, n - .end + 18]
|
||||
end
|
||||
end;
|
||||
|
||||
def lpad($len): tostring | ($len - length) as $l | (" " * $l)[:$l] + .;
|
||||
|
||||
(1, 2, 29, 42, 57, 58, 59, 71, 72, 89, 90, 103, 113) as $n
|
||||
| periodicTable($n) as [$r, $c]
|
||||
| "Atomic number \($n|lpad(3)) -> \($r) \($c)"
|
||||
Loading…
Add table
Add a link
Reference in a new issue