  In classical computation, a problem can be solved in multiple steps where
calculated results of each step can be copied and used repeatedly. While in
quantum computation, it is difficult to realize a similar multi-step
computation process because the no-cloning theorem forbids making copies of an
unknown quantum state perfectly. We find a method based on quantum resonant
transition to protect and reuse an unknown quantum state that encodes
calculated results of an intermediate step without making copies of the state,
and present a quantum algorithm that solves a problem via a multi-step quantum
computation process. This algorithm can achieve an exponential speedup over
classical algorithms in solving a type of structured search problems.
