user
Alphonse de Polignac, a French mathematician in the 1800s, conjectured that every positive odd integer could be formed from the sum of a power of 2 and a prime number.

He was subsequently proved incorrect.

The numbers that fail this condition are now known as de Polignac numbers.

Technically **1** is a de Polignac number, as there is no prime and power of 2 that sum to **1**. De Polignac was aware but thought that **1** was a special case. However.

**127** is also fails that condition, as there is no prime and power of 2 that sum to **127**.

As it turns out, de Polignac numbers are not uncommon, in fact, there are an infinite number of them.

Task

* Find and display the first fifty de Polignac numbers.

Stretch

* Find and display the one thousandth de Polignac number.
* Find and display the ten thousandth de Polignac number.

See also

* Numbers Aplenty - de Polignac numbers * OEIS:A006285 - Odd numbers not of form p + 2^k (de Polignac numbers)
assistant
```
use List::Divvy;
use Lingua::EN::Numbers;
constant @po2 = (1..∞).map: 2 ** *;
my @dePolignac = lazy 1, |(2..∞).hyper.map(* × 2 + 1).grep: -> $n { all @po2.&upto($n).map: { !is-prime $n - $_ } };

say "First fifty de Polignac numbers:\n" ~ @dePolignac[^50]».&comma».fmt("%5s").batch(10).join: "\n";
say "\nOne thousandth: " ~ comma @dePolignac[999];
say "\nTen thousandth: " ~ comma @dePolignac[9999];

```

Output:

```
First fifty de Polignac numbers:
    1   127   149   251   331   337   373   509   599   701
  757   809   877   905   907   959   977   997 1,019 1,087
1,199 1,207 1,211 1,243 1,259 1,271 1,477 1,529 1,541 1,549
1,589 1,597 1,619 1,649 1,657 1,719 1,759 1,777 1,783 1,807
1,829 1,859 1,867 1,927 1,969 1,973 1,985 2,171 2,203 2,213

One thousandth: 31,941

Ten thousandth: 273,421
```