Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
21
Task/Sierpinski-triangle/Jq/sierpinski-triangle-1.jq
Normal file
21
Task/Sierpinski-triangle/Jq/sierpinski-triangle-1.jq
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
def elementwise(f):
|
||||
transpose | map(f) ;
|
||||
|
||||
# input: an array of decimal numbers
|
||||
def bitwise_and:
|
||||
# Input: an integer
|
||||
# Output: a stream of 0s and 1s
|
||||
def stream:
|
||||
recurse(if . > 0 then ./2|floor else empty end) | . % 2 ;
|
||||
|
||||
# Input: a 0-1 array
|
||||
def toi:
|
||||
reduce .[] as $c ( {power:1 , ans: 0};
|
||||
.ans += ($c * .power) | .power *= 2 )
|
||||
| .ans;
|
||||
|
||||
if any(.==0) then 0
|
||||
else map([stream])
|
||||
| (map(length) | min) as $min
|
||||
| map( .[:$min] ) | elementwise(min) | toi
|
||||
end;
|
||||
7
Task/Sierpinski-triangle/Jq/sierpinski-triangle-2.jq
Normal file
7
Task/Sierpinski-triangle/Jq/sierpinski-triangle-2.jq
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
def sierpinski:
|
||||
pow(2; .) as $size
|
||||
| range($size-1; -1; -1) as $y
|
||||
| reduce range(0; $size - $y) as $x ( (" " * $y);
|
||||
. + (if ([$x,$y]|bitwise_and) == 0 then "* " else " " end));
|
||||
|
||||
4 | sierpinski
|
||||
Loading…
Add table
Add a link
Reference in a new issue