A) mustn't have done
B) would not have done
C) might not have done
D) didn't have to
本句译为:你把这些东西洗了,你真是太好了。但是你没有必要洗。must, would, might后面接动词的完成式,都很少用否定式,而didn't have to表示没有必要,符合题意,故答案为D.
2) need后面接动词的完成式,主要用于否定句,表示本可不必做某事。
【例如】
You ____ all those calculations! We have a computer to do that sort of thing. (CET-4 1991)
A) needn't have done
B) must not have done
C) shouldn't have done
D) can not have done
“needn't +不定式完成式”表示“本来不必做,但实际做了”。题意是:你没有必要做全部计算,这类计算我们用计算机来做。故答案为A.