Ultra useful primes: Difference between revisions

m
→‎{{header|Wren}}: Changed to Wren S/H
(New post.)
m (→‎{{header|Wren}}: Changed to Wren S/H)
 
(3 intermediate revisions by 3 users not shown)
Line 125:
14 13797
</pre>
 
=={{header|Craft Basic}}==
<syntaxhighlight lang="basic">for n = 1 to 10
 
let k = -1
 
do
 
let k = k + 2
wait
 
loop prime(2 ^ (2 ^ n) - k) = 0
 
print "n = ", n, " k = ", k
 
next n</syntaxhighlight>
 
=={{header|Factor}}==
Line 410 ⟶ 426:
<pre>1 3 5 15 5 59 159 189 569 105
1557 2549 2439</pre>
=={{header|Python}}==
 
<syntaxhighlight lang="python>
# useful.py by xing216
from gmpy2 import is_prime
def useful(n):
k = 1
is_useful = False
while is_useful == False:
if is_prime(2**(2**n) - k):
is_useful = True
break
k += 2
return k
if __name__ == "__main__":
print("n | k")
for i in range(1,14):
print(f"{i:<4}{useful(i)}")
</syntaxhighlight>
{{out}}
<pre>
n | K
1 1
2 3
3 5
4 15
5 5
6 59
7 159
8 189
9 569
10 105
11 1557
12 2549
13 2439
</pre>
=={{header|Ring}}==
<syntaxhighlight lang="ring">
Line 502 ⟶ 552:
</pre>
(takes ~20 seconds)
 
=={{header|V (Vlang)}}==
<syntaxhighlight lang="Zig">
import math
 
fn main() {
limit := 10 // depending on computer, higher numbers = longer times
mut num, mut k := i64(0), i64(0)
println("n k\n-------")
for n in 1..limit {
k = -1
for n < limit {
k = k + 2
num = math.powi(2, math.powi(2 , n)) - k
if is_prime(num) == true {
println("${n} ${k}")
break
}
}
}
}
 
fn is_prime(num i64) bool {
if num <= 1 {return false}
if num % 2 == 0 && num != 2 {return false}
for idx := 3; idx <= math.floor(num / 2) - 1; idx += 2 {
if num % idx == 0 {return false}
}
return true
}
</syntaxhighlight>
 
{{out}}
<pre>
n k
-------
1 1
2 3
3 5
4 15
5 5
6 59
7 159
8 189
9 569
10 105
</pre>
 
=={{header|Wren}}==
Line 508 ⟶ 605:
{{libheader|Wren-fmt}}
Manages to find the first ten but takes 84 seconds to do so.
<syntaxhighlight lang="ecmascriptwren">import "./big" for BigInt
import "./fmt" for Fmt
 
Line 546 ⟶ 643:
{{libheader|Wren-gmp}}
The following takes about 17 seconds to get to n = 13 but 7 minutes 10 seconds to reach n = 14. I didn't bother after that.
<syntaxhighlight lang="ecmascriptwren">import "./gmp" for Mpz
import "./fmt" for Fmt
 
9,485

edits