Numbers with equal rises and falls: Difference between revisions
Content added Content deleted
Alpha bravo (talk | contribs) (Added AutoHotkey) |
|||
Line 1,040: | Line 1,040: | ||
The 10000000th number in the sequence is 41909002. |
The 10000000th number in the sequence is 41909002. |
||
</pre> |
</pre> |
||
=={{header|jq}}== |
|||
{{works with|jq}} |
|||
'''Works with gojq, the Go implementation of jq''' (*) |
|||
(*) gojq requires a very large amount of memory for computing the 10 millionth number in the sequence. |
|||
<lang jq>def risesEqualsFalls: |
|||
. as $n |
|||
| if . < 10 then true |
|||
else {rises: 0, falls: 0, prev: -1, n: $n} |
|||
| until (.n <= 0; |
|||
(.n % 10 ) as $d |
|||
| if .prev >= 0 |
|||
then if $d < .prev then .rises += 1 |
|||
elif $d > .prev then .falls += 1 |
|||
else . |
|||
end |
|||
else . |
|||
end |
|||
| .prev = $d |
|||
| .n = ((.n/10)|floor) ) |
|||
| .rises == .falls |
|||
end ; |
|||
def A296712: range(1; infinite) | select(risesEqualsFalls); |
|||
# Override jq's incorrect definition of nth/2 |
|||
# Emit the $n-th value of the stream, counting from 0; or emit nothing |
|||
def nth($n; s): |
|||
if $n < 0 then error("nth/2 doesn't support negative indices") |
|||
else label $out |
|||
| foreach s as $x (-1; .+1; select(. >= $n) | $x, break $out) |
|||
end; |
|||
# The tasks |
|||
"First 200:", |
|||
[limit(200; A296712)], |
|||
"\nThe 10 millionth number in the sequence is \( |
|||
nth(1e7 - 1; A296712))"</lang> |
|||
{{out}} |
|||
<pre> |
|||
First 200: |
|||
[1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77,88,99,101,102,103,104,105,106,107,108,109,111,120,121,130,131,132,140,141,142,143,150,151,152,153,154,160,161,162,163,164,165,170,171,172,173,174,175,176,180,181,182,183,184,185,186,187,190,191,192,193,194,195,196,197,198,201,202,203,204,205,206,207,208,209,212,213,214,215,216,217,218,219,222,230,231,232,240,241,242,243,250,251,252,253,254,260,261,262,263,264,265,270,271,272,273,274,275,276,280,281,282,283,284,285,286,287,290,291,292,293,294,295,296,297,298,301,302,303,304,305,306,307,308,309,312,313,314,315,316,317,318,319,323,324,325,326,327,328,329,333,340,341,342,343,350,351,352,353,354,360,361,362,363,364,365,370,371,372,373,374,375,376,380,381,382,383,384,385,386,387,390,391,392,393,394,395,396,397,398,401,402,403,404] |
|||
The 10 millionth number in the sequence is 41909002 |
|||
</pre> |
|||
=={{header|Julia}}== |
=={{header|Julia}}== |