Think about what "append the remainder" means. To get a remainder you must perform a division, so the method has to divide the data block by something fixed.
In CRC the sender picks a generator of degree $r$. The message is shifted left by $r$ bits and divided by the generator using modulo-2 arithmetic. The $r$-bit remainder is then attached to the data:
\[ \text{Transmitted frame} = \text{Data} \; || \; \text{Remainder} \]
The receiver divides the whole received frame by the same generator. A zero remainder means no detected error. This matches the question word for word.
Parity, checksum, and Hamming code never perform division by a divisor, so they are ruled out.
\[\boxed{\text{Cyclic Redundancy Check}}\]