To find the maximum depth of an n-ary tree, we can use a recursive approach. We start by checking if the root exists. If it doesn't, the depth of the tree is 0. Otherwise, we iterate through each child of the root node and recursively find the maximum depth of each child subtree. We then return the maximum of these depths plus 1 (to account for the root node). Here is the Python code:

```
class Node:
    def __init__(self, val=None, children=None):
        self.val = val
        self.children = children

def max_depth(root):
    if not root:
        return 0
    children_depths = [max_depth(child) for child in root.children]
    return max(children_depths, default=0) + 1
```

We can call this function with the root node of our n-ary tree as the argument to get the maximum depth.
Dato un albero n-ario, trova la sua profondità massima. La profondità massima è il numero di nodi lungo il percorso più lungo dal nodo radice fino al nodo foglia più lontano. La serializzazione dell'input Nary-Tree è rappresentata nel loro attraversamento dell'ordine di livello, ogni gruppo di figli è separato dal valore null (vedi esempi).