正在载入在线练习界面,本页内容可直接阅读…
AK CSP › CSP-J 2024 第一轮真题 › 第 32 题
CSP-J 2024 第一轮 第 32 题:程序(三):把递归式改成 a+customFunction(a-1,b-1) 后
题目
#include <iostream>
#include <cmath>
using namespace std;
int customFunction(int a, int b) {
if (b == 0) {
return a;
}
return a + customFunction(a, b-1);
}
int main() {
int x, y;
cin >> x >> y;
int result = customFunction(x, y);
cout << pow(result, 2) << endl;
return 0;
}
本小题
(4 分)若将 customFunction 函数改为 return a + customFunction(a-1, b-1);,并输入 3 3,则程序的最终输出为( )。
选项
- A. 9
- B. 16
- C. 25
- D. 36
答案
D
题解
选 D. 36。
修改后,每次递归都让 a 和 b 各减 1;当 b == 0 时,直接返回 a。
输入 3 3,递归展开如下:
``text customFunction(3, 3) = 3 + customFunction(2, 2) = 3 + 2 + customFunction(1, 1) = 3 + 2 + 1 + customFunction(0, 0) = 3 + 2 + 1 + 0 = 6 ``
因此 result = 6。最后输出的是 pow(result, 2),也就是 6² = 36。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号