Pandigital prime: Difference between revisions
Content added Content deleted
(→{{header|Raku}}: updated for optional task) |
(→{{header|Ring}}: streamlined, added optional task) |
||
Line 510: | Line 510: | ||
=={{header|Ring}}== |
=={{header|Ring}}== |
||
<lang ring> |
<lang ring>see "working..." + nl |
||
⚫ | |||
load "stdlib.ring" |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
pand = 0 |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
ok |
ok |
||
for n = hi to 0 step -18 |
|||
⚫ | |||
pandig = true |
|||
⚫ | |||
⚫ | |||
pandig = false |
|||
⚫ | |||
⚫ | |||
⚫ | |||
if pandig and isprime(n) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
next |
|||
next |
next |
||
⚫ | |||
⚫ | |||
see "" + pand + nl |
|||
if n % 3 = 0 |
|||
return false |
|||
⚫ | |||
ok |
|||
i = 5 |
|||
func count(cString,dString) |
|||
while i * i < n |
|||
⚫ | |||
while substr(cString,dString) > 0 |
|||
return false |
|||
ok |
|||
cString = substr(cString,substr(cString,dString)+len(string(sum))) |
|||
i += 2 |
|||
end |
|||
</lang> |
return true</lang> |
||
{{out}} |
{{out}} |
||
<pre> |
<pre> |
||
⚫ | |||
The largest pandigital prime is |
The largest 1..7 pandigital prime is 7652413 |
||
7,652,413 |
|||
The largest 0..7 pandigital prime is 76540231 |
|||
done... |
|||
</pre> |
</pre> |
||