Jacobsthal numbers

func jacobsthal(n) {
    lucasU(1, -2, n)
}
 
func lucas_jacobsthal(n) {
    lucasV(1, -2, n)
}
 
say "First 30 Jacobsthal numbers:"
say 30.of(jacobsthal)
 
say "\nFirst 30 Jacobsthal-Lucas numbers:"
say 30.of(lucas_jacobsthal)
 
say "\nFirst 20 Jacobsthal oblong numbers:"
say 21.of(jacobsthal).cons(2, {|a,b| a * b })
 
say "\nFirst 20 Jacobsthal primes:";
say (1..Inf -> lazy.map(jacobsthal).grep{.is_prime}.first(20))

Output:

Last updated

Was this helpful?