Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
29
Task/Pierpont-primes/Sidef/pierpont-primes.sidef
Normal file
29
Task/Pierpont-primes/Sidef/pierpont-primes.sidef
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
func smooth_generator(primes) {
|
||||
var s = primes.len.of { [1] }
|
||||
{
|
||||
var n = s.map { .first }.min
|
||||
{ |i|
|
||||
s[i].shift if (s[i][0] == n)
|
||||
s[i] << (n * primes[i])
|
||||
} * primes.len
|
||||
n
|
||||
}
|
||||
}
|
||||
|
||||
func pierpont_primes(n, k = 1) {
|
||||
var g = smooth_generator([2,3])
|
||||
1..Inf -> lazy.map { g.run + k }.grep { .is_prime }.first(n)
|
||||
}
|
||||
|
||||
say "First 50 Pierpont primes of the 1st kind: "
|
||||
say pierpont_primes(50, +1).join(' ')
|
||||
|
||||
say "\nFirst 50 Pierpont primes of the 2nd kind: "
|
||||
say pierpont_primes(50, -1).join(' ')
|
||||
|
||||
for n in (250, 500, 1000) {
|
||||
var p = pierpont_primes(n, +1).last
|
||||
var q = pierpont_primes(n, -1).last
|
||||
say "\n#{n}th Pierpont prime of the 1st kind: #{p}"
|
||||
say "#{n}th Pierpont prime of the 2nd kind: #{q}"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue