Find all pairs (i, j), such that i + (i+1) + (i+2) + ... + j = n
Another algorithm:

Find all factorizations of $2n$ into a product of two integers, say $2n=r \times s$ with $r \le s$.  Then find $i,j$ such that $j-i+1=r$ and $i+j=s$, i.e., $i=(s-r+1)/2$ and $j=(s+r-1)/2$.  Check whether $i,j$ are positive.  If they are, output this pair $i,j$.  Do this for each way of expressing $2n$ as the product $2n=r \times s$.

How do you find all factorizations of $2n$ into two integers?  First factor $2n$ into a product of prime powers, say

$$2n = \prod p_i^{e_i}.$$

Next, for each $c_i$ with $0 \le c_i \le e_i$, you can let $r = \prod p_i^{c_i}$ and $s = \prod p_i^{e_i-c_i}$.  So in this way you can enumerate all such factorizations.  There will be $\prod (1+e_i)$ of them.

The running time for this is significantly faster than $O(n)$.  In the worst case the number of such factorizations can be no larger than $O(n^{1/2})$, so the worst-case running time of this method is $O(n^{1/2})$ -- already a significant speedup over Hendrik Jan's elegant answer.  Even better, in the average case, the number of such factorizations is far smaller than $n$, exponentially smaller, making this much faster.  Often, the dominant cost will be the cost to factor $2n$, which can be done in subexponential time using standard algorithms.