Unprimeable numbers: Difference between revisions

Added 11l
No edit summary
(Added 11l)
Line 51:
:*   from the Adam Spencer book   (page 200):   ''Adam Spencer's World of Numbers''       (Xoum Publishing)
<br><br>
 
=={{header|11l}}==
{{trans|Python}}
 
<lang 11l>V limit = 10'000'000
V is_prime = [0B] * 2 [+] [1B] * (limit - 1)
L(n) 0 .< Int(limit ^ 0.5 + 1.5)
I is_prime[n]
L(i) (n * n .< limit + 1).step(n)
is_prime[i] = 0B
 
F unprimeable(a)
I :is_prime[a]
R 0B
V d = 1
L d <= a
V base = (a I/ (d * 10)) * (d * 10) + (a % d)
I any((base .< base + d * 10).step(d).map(y -> :is_prime[y]))
R 0B
d *= 10
R 1B
 
F unprime(n)
[Int] r
L(a) 1..
I unprimeable(a)
r [+]= a
I r.len == n
L.break
R r
 
print(‘First 35:’)
print(unprime(35).map(i -> String(i)).join(‘ ’))
 
print("\nThe 600-th:")
print(unprime(600).last)
print()
 
V first = [0] * 10
V need = 10
L(p) 1..
I unprimeable(p)
V i = p % 10
I first[i] != 0
L.continue
 
first[i] = p
I --need == 0
L.break
 
L(v) first
print(L.index‘ ending: ’v)</lang>
 
{{out}}
<pre>
First 35:
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 600-th:
5242
 
0 ending: 200
1 ending: 595631
2 ending: 322
3 ending: 1203623
4 ending: 204
5 ending: 325
6 ending: 206
7 ending: 872897
8 ending: 208
9 ending: 212159
</pre>
 
=={{header|C}}==
1,453

edits