1.答案只能是一个:have taken
2.
1)如果句子的时间状语是“in/during/over the last/past + 一段时间”时,该句一般只能使用现在完成时.
2)因为该短语意思是“在过去的多少时间之内”,即“从现在开始往前数一段时间”,即截止到现在的一段时间,而该期间所发生的动作正好用现在完成时来表示.
3.再如:
Great changes have taken place in HK in the past 10 years.
= HK has experienced great changes in the past 10 years.