Primes with digits in nondecreasing order: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: used simpler coding, used a better grid.) |
|||
Line 422: | Line 422: | ||
FN Fb Ff Fl Fr Fz |
FN Fb Ff Fl Fr Fz |
||
</pre> |
</pre> |
||
=={{header|Nim}}== |
|||
<lang Nim>import strformat, sugar |
|||
func isPrime(n: Natural): bool = |
|||
if n < 2: return false |
|||
if n mod 2 == 0: return n == 2 |
|||
if n mod 3 == 0: return n == 3 |
|||
var d = 5 |
|||
while d * d <= n: |
|||
if n mod d == 0: return false |
|||
inc d, 2 |
|||
if n mod d == 0: return false |
|||
inc d, 4 |
|||
result = true |
|||
func isNonDecreasing(n: int): bool = |
|||
var n = n |
|||
var prev = 10 |
|||
while n != 0: |
|||
let d = n mod 10 |
|||
if d > prev: return false |
|||
prev = d |
|||
n = n div 10 |
|||
result = true |
|||
let result = collect(newSeq): |
|||
for n in 2..999: |
|||
if n.isPrime and n.isNonDecreasing: n |
|||
echo &"Found {result.len} primes:" |
|||
for i, n in result: |
|||
stdout.write &"{n:3}", if (i + 1) mod 10 == 0: '\n' else: ' '</lang> |
|||
{{out}} |
|||
<pre>Found 50 primes: |
|||
2 3 5 7 11 13 17 19 23 29 |
|||
37 47 59 67 79 89 113 127 137 139 |
|||
149 157 167 179 199 223 227 229 233 239 |
|||
257 269 277 337 347 349 359 367 379 389 |
|||
449 457 467 479 499 557 569 577 599 677</pre> |
|||
=={{header|Phix}}== |
=={{header|Phix}}== |