  A string $S[1,n]$ is a power (or tandem repeat) of order $k$ and period $n/k$
if it can decomposed into $k$ consecutive equal-length blocks of letters.
Powers and periods are fundamental to string processing, and algorithms for
their efficient computation have wide application and are heavily studied.
Recently, Fici et al. (Proc. ICALP 2016) defined an {\em anti-power} of order
$k$ to be a string composed of $k$ pairwise-distinct blocks of the same length
($n/k$, called {\em anti-period}). Anti-powers are a natural converse to
powers, and are objects of combinatorial interest in their own right. In this
paper we initiate the algorithmic study of anti-powers. Given a string $S$, we
describe an optimal algorithm for locating all substrings of $S$ that are
anti-powers of a specified order. The optimality of the algorithm follows form
a combinatorial lemma that provides a lower bound on the number of distinct
anti-powers of a given order: we prove that a string of length $n$ can contain
$\Theta(n^2/k)$ distinct anti-powers of order $k$.
