Most algorithms for distributed averaging only guarantee asymptotic convergence. This paper introduces a distributed protocol that allows nodes to find the exact average of the initial values in a finite and minimum number of steps on interconnection topologies described by strongly connected directed graphs (digraphs). More specifically, under the assumption that each component has knowledge of the number of its outgoing links (i.e., the number of components to which it sends information), we show that the average value can be computed based on local observations over a finite time interval. The average can be obtained in a finite number of steps even when the information exchange is subject to delays. The proposed algorithm is the first in the literature that allows for distributed computation of the exact average in digraphs in finite time, with and without delays.