下面代码实现了计算 $x^n$ 的快速幂算法,该算法体现的编程思想是( )。
long long power(long long x, int n) {
if (n == 0) return 1;
long long res = power(x, n / 2);
if (n % 2 == 0) return res * res;
else return res * res * x;
}仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。
审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。
【考点】分治法|递归|算法复杂度
本题考查《GESP 考试大纲》五级 算法设计模块中的「分治法」。命题人放这道题,就是卡住那些只会写循环、不会识别递归模式的考生——看到 n/2 就以为是普通除法,没意识到这是在把大问题拆成两个小问题。