Find palindromic numbers in both binary and ternary bases: Difference between revisions

Content added Content deleted
m (→‎much faster version: minor tidy, added some base>9 hints)
m (→‎{{header|jq}}: simplify)
Line 1,277: Line 1,277:
def convert(base):
def convert(base):
def stream:
def stream:
recurse(if . > 0 then ./base|floor else empty end) | . % base ;
recurse(if . >= base then ./base|floor else empty end) | . % base ;
[stream] | reverse | .[1:]
if . == 0 then "0"
else [stream] | reverse | .[1:]
| if base < 10 then map(tostring) | join("")
| if base < 10 then map(tostring) | join("")
elif base <= 36 then map(if . < 10 then 48 + . else . + 87 end) | implode
elif base <= 36 then map(if . < 10 then 48 + . else . + 87 end) | implode
else error("base too large")
else error("base too large")
end
end;
end;


# integer division using integer operations only
# integer division using integer operations only