# [Python 3.8+], <s>&nbsp;45&nbsp;</s> 39 bytes

-2 thanks to [xnor](https://codegolf.stackexchange.com/users/20260) (`while print(...)!=0:` → `while[print(...)]:`)  
-4 thanks to [Neil](https://codegolf.stackexchange.com/users/17602/neil) (`[a*n,a//n][a>n]` → `a//n or a*n`)

<!-- language-all: lang-python -->

    a=n=1
    while[print(a:=a//n or a*n)]:n+=1

A full program which prints \$a(n)\$ for all natural numbers.

**[Try it online!][TIO-khxsbnhv]**

---
As a recursive function, 49:

    f=lambda v,n=1,a=1:a*(v<n)or f(v,n+1,a//n or a*n)

[Python 3.8+]: https://docs.python.org/3.8/
[TIO-khxsbnhv]: https://tio.run/##K6gsycjPM7YoKPr/P9E2z9aQqzwjMyc1uqAoM69EI9HKNlFfP08hv0ghUStPM9YqT9vW8P9/AA "Python 3.8 – Try It Online"