  Shor's algorithm is one of the most important quantum algorithm proposed by
Peter Shor [Proceedings of the 35th Annual Symposium on Foundations of Computer
Science, 1994, pp. 124--134]. Shor's algorithm can factor a large integer with
certain probability and costs polynomial time in the length of the input
integer. The key step of Shor's algorithm is the order-finding algorithm.
Specifically, given an $L$-bit integer $N$, we first randomly pick an integer
$a$ with $gcd(a,N)=1$, the order of $a$ modulo $N$ is the smallest positive
integer $r$ such that $a^r\equiv 1 (\bmod N)$. The order-finding algorithm in
Shor's algorithm first uses quantum operations to obtain an estimation of
$\dfrac{s}{r}$ for some $s\in\{0, 1, \cdots, r-1\}$, then $r$ is obtained by
means of classical algorithms. In this paper, we propose a distributed Shor's
algorithm. The difference between our distributed algorithm and the traditional
order-finding algorithm is that we use two quantum computers separately to
estimate partial bits of $\dfrac{s}{r}$ for some $s\in\{0, 1, \cdots, r-1\}$.
To ensure their measuring results correspond to the same $\dfrac{s}{r}$, we
need employ quantum teleportation. We integrate the measuring results via
classical post-processing. After that, we get an estimation of $\dfrac{s}{r}$
with high precision. Compared with the traditional Shor's algorithm that uses
multiple controlling qubits, our algorithm reduces nearly $\dfrac{L}{2}$ qubits
and reduces the circuit depth of each computer.
