user
**Jacobsthal numbers** are an integer sequence related to Fibonacci numbers. Similar to Fibonacci, where each term is the sum of the previous two terms, each term is the sum of the previous, plus twice the one before that. Traditionally the sequence starts with the given terms 0, 1.

```

   J0 = 0
   J1 = 1
   Jn = Jn-1 + 2 × Jn-2


```

Terms may be calculated directly using one of several possible formulas:

```

   Jn = ( 2n - (-1)n ) / 3


```

**Jacobsthal-Lucas numbers** are very similar. They have the same recurrence relationship, the only difference is an initial starting value **J0 = 2** rather than **J0 = 0**.

Terms may be calculated directly using one of several possible formulas:

```
   
   JLn = 2n + (-1)n
   

```

**Jacobsthal oblong numbers** is the sequence obtained from multiplying each **Jacobsthal number** **Jn** by its direct successor **Jn+1**.

**Jacobsthal primes** are **Jacobsthal numbers** that are prime.

Task

* Find and display the first 30 **Jacobsthal numbers**
* Find and display the first 30 **Jacobsthal-Lucas numbers**
* Find and display the first 20 **Jacobsthal oblong numbers**
* Find and display at least the first 10 **Jacobsthal primes**

See also

* Wikipedia: Jacobsthal number * Numbers Aplenty - Jacobsthal number * OEIS:A001045 - Jacobsthal sequence (or Jacobsthal numbers) * OEIS:A014551 - Jacobsthal-Lucas numbers. * OEIS:A084175 - Jacobsthal oblong numbers * OEIS:A049883 - Primes in the Jacobsthal sequence * Related task: Fibonacci sequence * Related task: Leonardo numbers
assistant
```
my $jacobsthal = cache lazy 0, 1, * × 2 + * … *;
my $jacobsthal-lucas = lazy 2, 1, * × 2 + * … *;

say "First 30 Jacobsthal numbers:";
say $jacobsthal[^30].batch(5)».fmt("%9d").join: "\n";

say "\nFirst 30 Jacobsthal-Lucas numbers:";
say $jacobsthal-lucas[^30].batch(5)».fmt("%9d").join: "\n";

say "\nFirst 20 Jacobsthal oblong numbers:";
say (^∞).map( { $jacobsthal[$_] × $jacobsthal[$_+1] } )[^20].batch(5)».fmt("%11d").join: "\n";

say "\nFirst 20 Jacobsthal primes:";
say $jacobsthal.grep( &is-prime )[^20].join: "\n";

```

Output:

```
First 30 Jacobsthal numbers:
        0         1         1         3         5
       11        21        43        85       171
      341       683      1365      2731      5461
    10923     21845     43691     87381    174763
   349525    699051   1398101   2796203   5592405
 11184811  22369621  44739243  89478485 178956971

First 30 Jacobsthal-Lucas numbers:
        2         1         5         7        17
       31        65       127       257       511
     1025      2047      4097      8191     16385
    32767     65537    131071    262145    524287
  1048577   2097151   4194305   8388607  16777217
 33554431  67108865 134217727 268435457 536870911

First 20 Jacobsthal oblong numbers:
          0           1           3          15          55
        231         903        3655       14535       58311
     232903      932295     3727815    14913991    59650503
  238612935   954429895  3817763271 15270965703 61084037575

First 20 Jacobsthal primes:
3
5
11
43
683
2731
43691
174763
2796203
715827883
2932031007403
768614336404564651
201487636602438195784363
845100400152152934331135470251
56713727820156410577229101238628035243
62357403192785191176690552862561408838653121833643
1046183622564446793972631570534611069350392574077339085483
267823007376498379256993682056860433753700498963798805883563
5562466239377370006237035693149875298444543026970449921737087520370363869220418099018130434731
95562442332919646317117537304253622533190207882011713489066201641121786503686867002917439712921903606443
```