Fortunate numbers: Difference between revisions

Content added Content deleted
(Added 11l)
Line 21:
* [[oeis:A046066]] Fortunate numbers, sorted with duplicates removed
<br><br>
 
=={{header|11l}}==
{{trans|Nim}}
 
<lang 11l>F isProbablePrime(n, k = 10)
I n < 2 | n % 2 == 0
R n == 2
 
V d = n - 1
V s = 0
L d % 2 == 0
d I/= 2
s++
 
assert(2 ^ s * d == n - 1)
 
Int nn
I n < 7FFF'FFFF
nn = Int(n)
E
nn = 7FFF'FFFF
 
L(_) 0 .< k
V a = random:(2 .< nn)
V x = pow(a, d, n)
I x == 1 | x == n - 1
L.continue
L(_) 0 .< s - 1
x = pow(x, 2, n)
I x == 1
R 0B
I x == n - 1
L.break
L.was_no_break
R 0B
 
R 1B
 
F is_prime(a)
I a == 2
R 1B
I a < 2 | a % 2 == 0
R 0B
L(i) (3 .. Int(sqrt(a))).step(2)
I a % i == 0
R 0B
R 1B
 
V primorial = BigInt(1)
 
V nn = 50
V lim = 75
V s = Set[Int]()
L(n) 1..
I is_prime(n)
primorial *= n
V m = 3
L
I isProbablePrime(primorial + m, 25)
s.add(m)
L.break
m += 2
I --lim == 0
L.break
 
print(‘First ’nn‘ fortunate numbers:’)
L(m) sorted(Array(s))[0 .< nn]
V i = L.index
print(‘#3’.format(m), end' I (i + 1) % 10 == 0 {"\n"} E ‘ ’)</lang>
 
{{out}}
<pre>
First 50 fortunate numbers:
3 5 7 13 17 19 23 37 47 59
61 67 71 79 89 101 103 107 109 127
151 157 163 167 191 197 199 223 229 233
239 271 277 283 293 307 311 313 331 353
373 379 383 397 401 409 419 421 439 443
</pre>
 
=={{header|Factor}}==