user
The following function,   due to D. Hickerson,   is said to generate "Almost integers" by the
  
"Almost Integer" page of Wolfram MathWorld,   (December 31 2013).   (See formula numbered   **51**.)

The function is:           

h
(
n
)
=

n
!

2
(
ln
⁡

2

)

n
+
1
{\displaystyle {\displaystyle h(n)={\operatorname {n} ! \over 2(\ln {2})^{n+1}}}}

It is said to produce "almost integers" for   **n**   between   **1**   and   **17**.
The purpose of the task is to verify this assertion.

Assume that an "almost integer" has **either a nine or a zero as its first digit after the decimal point** of its decimal string representation

Task

Calculate all values of the function checking and stating which are "almost integers".

Note: Use extended/arbitrary precision numbers in your calculation if necessary to ensure you have adequate precision of results as for example:

```
               h(18) = 3385534663256845326.39...

```
assistant
(formerly Perl 6)

**Works with**: rakudo version 2015-09-13

We'll use FatRat values, and a series for an approximation of ln(2).

```
constant ln2 = [+] (1/2.FatRat, */2 ... *) Z/ 1 .. 100;
constant h = [\*] 1/2, |(1..*) X/ ln2;

use Test;
plan *;
 
for h[1..17] {
    ok m/'.'<[09]>/, .round(0.001) 
}

```

Output:

```
ok 1 - 1.041
ok 2 - 3.003
ok 3 - 12.996
ok 4 - 74.999
ok 5 - 541.002
ok 6 - 4683.001
ok 7 - 47292.999
ok 8 - 545834.998
ok 9 - 7087261.002
ok 10 - 102247563.005
ok 11 - 1622632572.998
ok 12 - 28091567594.982
ok 13 - 526858348381.001
ok 14 - 10641342970443.085
ok 15 - 230283190977853.037
not ok 16 - 5315654681981354.513

# Failed test '5315654681981354.513'
# at hickerson line 8
not ok 17 - 130370767029135900.458

# Failed test '130370767029135900.458'
# at hickerson line 8
```