- Fourier transform in log(n)^2 rather than nlog(n) time. Shor's algorithm uses this---the numbers 2^0, 2^1, 2^2, ..., 2^n (modulo n) are periodic for some factor of phi(n) (Euler-totient function). A Fourier transform will have a peak around that period, which you can quickly find on a quantum computer.
- Speeding up database queries (e.g. Grover's algorithm).
You can also make communications more secure with some quantum stuff, but that isn't computing. In the future, some more interesting computer applications will be:
- Physical simulations, e.g. how do proteins fold, or chemical reactions take place.
- Bayesian neural networks. After training, there's some distribution the weights could be in based on the initialization. Choosing a fixed set of weights results in overfitting, but if you instead take the expected output given that distribution, you get the most likely answer. That's obviously infeasible on a classical computer (though dropout approximates this), but possible on a quantum one.