
\begin{python}
def fct(n):
    L = [] # liste vide
    for k in range(n+1):
        s = 0
        x = k**2
        while x > 0:
            u = x % 10
            s = s + u
            x = x // 10

        if s == k: L.append(k)
    return L
\end{python}

\newpage

On obtient par exemple:

\begin{console}
>>> fct(2000)
[0, 1, 9]
\end{console}

Si on essaie avec d'autres valeurs de $n$ supérieures, on obtient toujours la même liste; on peut alors conjecturer que les seuls nombres correspondant à notre recherche sont 0, 1 et 9.
