正在载入在线练习界面,本页内容可直接阅读…

AK CSP › CSP-J 2024 第一轮真题 › 第 32 题

CSP-J 2024 第一轮 第 32 题:程序(三):把递归式改成 a+customFunction(a-1,b-1) 后

阅读程序 · 函数与递归 · 难度 较难 · 答案 D

题目

#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;
}
CSP-J 2024 第一轮 第 32 题 原题
原题扫描(页面加载后可直接在线作答)

本小题

(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号