Unprimeable numbers: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: added syntax colouring) |
|||
Line 1,135: | Line 1,135: | ||
II: 186884ms - timer ended |
II: 186884ms - timer ended |
||
</pre> |
</pre> |
||
=={{header|jq}}== |
|||
{{works with|jq}} |
|||
'''Works with gojq, the Go implementation of jq''' |
|||
See e.g. [[Erd%C5%91s-primes#jq]] for a suitable definition of `is_prime` as used here. |
|||
'''Preliminaries''' |
|||
<lang jq>def digits: tostring | explode | map([.] | implode | tonumber); |
|||
def lpad($len): tostring | ($len - length) as $l | (" " * $l)[:$l] + .; |
|||
</lang> |
|||
'''Unprimeables''' |
|||
<lang jq> |
|||
def variants: |
|||
digits |
|||
| range(0; length) as $pos |
|||
| range(0;10) as $newdigit |
|||
| if .[$pos] == $newdigit then empty |
|||
else .[$pos] = $newdigit |
|||
| join("")|tonumber |
|||
end; |
|||
def is_unprimeable: |
|||
if is_prime or any(variants; is_prime) then false |
|||
else true |
|||
end; |
|||
def unprimeables: |
|||
range(4; infinite) | select(is_unprimeable);</lang> |
|||
'''The Tasks''' |
|||
<lang jq>def task: |
|||
"First 35 unprimeables: ", |
|||
[limit(35; range(0;infinite) | select(is_unprimeable))], |
|||
"\nThe 600th unprimeable is \( nth(600 - 1; unprimeables) ).", |
|||
"\nDigit First unprimeable ending with that digit", |
|||
"-----------------------------------------------", |
|||
(range(0;10) as $dig |
|||
| first( range(0;infinite) | select((. % 10 == $dig) and is_unprimeable)) |
|||
| " \($dig) \(lpad(9))" ) |
|||
; |
|||
task</lang> |
|||
{{out}} |
|||
<pre> |
|||
First 35 unprimeables: |
|||
[200,204,206,208,320,322,324,325,326,328,510,512,514,515,516,518,530,532,534,535,536,538,620,622,624,625,626,628,840,842,844,845,846,848,890] |
|||
The 600th unprimeable is 5242. |
|||
Digit First unprimeable ending with that digit |
|||
----------------------------------------------- |
|||
0 200 |
|||
1 595631 |
|||
2 322 |
|||
3 1203623 |
|||
4 204 |
|||
5 325 |
|||
6 206 |
|||
7 872897 |
|||
8 208 |
|||
9 212159 |
|||
</pre> |
|||
=={{header|Julia}}== |
=={{header|Julia}}== |