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

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

CSP-J 2024 第一轮 第 27 题:程序(三):customFunction(2,3) 的返回值是否为64

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

题目

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

本小题

当输入为 2 3 时,customFunction(2, 3) 的返回值为 $64$。(  )

选项

  • √. 正确
  • ×. 错误

答案

×

题解

答案:×,错误。

注意区分函数的返回值和程序最终的输出。

递归计算过程如下:

``text customFunction(2, 0) = 2 customFunction(2, 1) = 2 + 2 = 4 customFunction(2, 2) = 2 + 4 = 6 customFunction(2, 3) = 2 + 6 = 8 ``

所以,customFunction(2, 3) 的返回值是 8。

回到 main 后,pow(result, 2) 才将返回值平方,得到 \(8^2=64\)。因此,64 是程序的输出,不是函数的返回值。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号