Extreme primes: Difference between revisions

Added Easylang
(Created Nim solution.)
(Added Easylang)
 
(5 intermediate revisions by 5 users not shown)
Line 130:
<pre>
Identical to Wren output.
</pre>
 
=={{header|EasyLang}}==
<syntaxhighlight>
fastfunc isprim num .
i = 2
while i <= sqrt num
if num mod i = 0
return 0
.
i += 1
.
return 1
.
prim = 2
proc nextprim . .
repeat
prim += 1
until isprim prim = 1
.
.
while cnt < 30
n += prim
if isprim n = 1
cnt += 1
write n & " "
.
nextprim
.
</syntaxhighlight>
{{out}}
<pre>
2 5 17 41 197 281 7699 8893 22039 24133 25237 28697 32353 37561 38921 43201 44683 55837 61027 66463 70241 86453 102001 109147 116533 119069 121631 129419 132059 263171
</pre>
 
Line 437 ⟶ 470:
 
=={{header|Nim}}==
{{incorrect|Nim|outputting the next prime which was not added to ep (yet)}}
{{libheader|Nim-Integers}}
We use third party package “integers” to get Miller-Rabin primality test.
Line 639 ⟶ 673:
done...
</pre>
 
=={{header|RPL}}==
{{works with|HP|49}}
« 0 → max sum
« { } 1
'''DO'''
NEXTPRIME
DUP 'sum' STO+
'''IF''' sum ISPRIME? '''THEN''' SWAP sum + SWAP '''END'''
'''UNTIL''' OVER SIZE max ≥ '''END'''
DROP2
» » ‘<span style="color:blue">XPRIM</span>’ STO
30 <span style="color:blue">XPRIM</span>
{{out}}
<pre>
1: { 2 5 17 41 197 281 7699 8893 22039 24133 25237 28697 32353 37561 38921 43201 44683 55837 61027 66463 70241 86453 102001 109147 116533 119069 121631 129419 132059 263171 }
</pre>
 
=={{header|Ruby}}==
<syntaxhighlight lang="ruby">require 'prime'
 
sum, n = 0, 30
extreme_primes = Prime.lazy.filter_map{|pr|sum += pr; [pr, sum] if sum.prime?}
 
puts "The first #{n} extreme primes are:"
extreme_primes.first(30).map(&:last).each_slice(10){|slice| puts "%8d"*slice.size % slice}
 
sum = 0
puts
extreme_primes.first(5000).each_slice(1000).with_index(1) do|slice, i|
puts "The %dth extreme prime is sum of primes upto %10d: %12d" % [i*1000, *slice.last]
end
</syntaxhighlight>
{{out}}
<pre>The first 30 extreme primes are:
2 5 17 41 197 281 7699 8893 22039 24133
25237 28697 32353 37561 38921 43201 44683 55837 61027 66463
70241 86453 102001 109147 116533 119069 121631 129419 132059 263171
 
The 1000th extreme prime is sum of primes upto 196831: 1657620079
The 2000th extreme prime is sum of primes upto 495571: 9744982591
The 3000th extreme prime is sum of primes upto 808837: 24984473177
The 4000th extreme prime is sum of primes upto 1152763: 49394034691
The 5000th extreme prime is sum of primes upto 1500973: 82195983953
</pre>
=={{header|Sidef}}==
{{trans|Julia}}
<syntaxhighlight lang="ruby">var(c,p,n) = (0,0,0)
 
while (c < 50_000) {
p.next_prime!
n += p
if (n.is_prime) {
++c
if (c <= 30) {
say "Sum of prime series up to #{p}: prime #{n}"
}
elsif (c ~~ [1000, 2000, 3000, 4000, 5000, 30_000, 40_000, 50_000]) {
say ("Sum of #{c.commify} in prime series up to #{p}: prime #{n}")
}
}
}</syntaxhighlight>
{{out}}
<pre>Sum of prime series up to 2: prime 2
Sum of prime series up to 3: prime 5
Sum of prime series up to 7: prime 17
Sum of prime series up to 13: prime 41
Sum of prime series up to 37: prime 197
Sum of prime series up to 43: prime 281
Sum of prime series up to 281: prime 7699
Sum of prime series up to 311: prime 8893
Sum of prime series up to 503: prime 22039
Sum of prime series up to 541: prime 24133
Sum of prime series up to 557: prime 25237
Sum of prime series up to 593: prime 28697
Sum of prime series up to 619: prime 32353
Sum of prime series up to 673: prime 37561
Sum of prime series up to 683: prime 38921
Sum of prime series up to 733: prime 43201
Sum of prime series up to 743: prime 44683
Sum of prime series up to 839: prime 55837
Sum of prime series up to 881: prime 61027
Sum of prime series up to 929: prime 66463
Sum of prime series up to 953: prime 70241
Sum of prime series up to 1061: prime 86453
Sum of prime series up to 1163: prime 102001
Sum of prime series up to 1213: prime 109147
Sum of prime series up to 1249: prime 116533
Sum of prime series up to 1277: prime 119069
Sum of prime series up to 1283: prime 121631
Sum of prime series up to 1307: prime 129419
Sum of prime series up to 1321: prime 132059
Sum of prime series up to 1949: prime 263171
Sum of 1,000 in prime series up to 196831: prime 1657620079
Sum of 2,000 in prime series up to 495571: prime 9744982591
Sum of 3,000 in prime series up to 808837: prime 24984473177
Sum of 4,000 in prime series up to 1152763: prime 49394034691
Sum of 5,000 in prime series up to 1500973: prime 82195983953
Sum of 30,000 in prime series up to 12437401: prime 4889328757567
Sum of 40,000 in prime series up to 17245391: prime 9207632380589
Sum of 50,000 in prime series up to 22272277: prime 15118097491121</pre>
 
=={{header|Wren}}==
Line 644 ⟶ 779:
{{libheader|Wren-math}}
{{libheader|Wren-fmt}}
<syntaxhighlight lang="ecmascriptwren">import "./math" for Int
import "./fmt" for Fmt
 
Line 688 ⟶ 823:
===Embedded (GMP)===
{{libheader|Wren-gmp}}
<syntaxhighlight lang="ecmascriptwren">import "./gmp" for Mpz
import "./fmt" for Fmt
 
1,982

edits