# -*- coding: utf-8 -*-
"""
Created on Wed Dec 17 09:36:55 2025

@author: François Coulombeau
"""
import numpy as np
import matplotlib.pyplot as plt

def a(n):
    an=1
    for i in range(0,n):
        an=(-1)**(i+1)+(i+1)*an
    return an

def fact(n):
    res = 1
    for k in range(n):
        res = res * (k+1)
    return res

print(a(18))
print(fact(18))
    
print(fact(18)/a(18))
print(np.exp(1))   

X = np.array(range(2,19))
Y = [fact(k)/a(k) for k in X]
plt.plot(X,0*X+np.exp(1),"r")
plt.plot(X,Y,"+k")
plt.title(r"Suite $\left(\frac{k!}{a_k}\right)_{k\in\mathbb{N}}$ et sa limite")