This algorithm provides an alternative way of factoring integers and calculating discrete logarithms. Not only that, it is used in many applications such as quantum counting. It has applications in **order finding** as well as applications in discrete logarithm.