林老师 · 客观题题库 · 递归递推 · 考纲词条练习

递归递推 · 考纲词条练习

递归递推 · 共 100 题 · 原创真题风格补充卷
真题
复刻
试卷编号NEO-J-2026-递归递推
题目总数100 题 · 200 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 100 题 · 200 分,全部为客观题;
② 试卷右上角设有 「提交答卷」「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。

判 分 报 告

0 / 200 分
0
答 对 · 得 0
0
答 错 · 失 0
当前筛选下没有题目

客 观 题

100 QUESTIONS · 2 POINTS EACH
第 1 题 单选 未作答

递归是通过( )来求解问题的编程技术。(2022 年真题)

(2 分)
原创 2026 · 单选 第1题 | 知识点 KJ-21d
第 2 题 单选 未作答

递归函数中终止条件(base case)的作用是( )。

(2 分)
原创 2026 · 单选 第2题 | 知识点 KJ-21d
第 3 题 单选 未作答

f(3) 调用 f(2) 调用 f(1)f(1) 返回后执行顺序是( )。

(2 分)
原创 2026 · 单选 第3题 | 知识点 KJ-21d
第 4 题 单选 未作答

递归函数在计算机内部通过( )管理调用。

(2 分)
原创 2026 · 单选 第4题 | 知识点 KJ-21d
第 5 题 单选 未作答

f(n) 调用 f(n-1) 直到 f(0),递归深度是( )。

(2 分)
原创 2026 · 单选 第5题 | 知识点 KJ-21d
第 6 题 单选 未作答

01int f(int n) { return f(n + 1); }

调用 f(0) 的结果是( )。

(2 分)
原创 2026 · 单选 第6题 | 知识点 KJ-21d
第 7 题 单选 未作答

递归函数设计时每层调用的参数必须( )。

(2 分)
原创 2026 · 单选 第7题 | 知识点 KJ-21d
第 8 题 单选 未作答

01int g(int n) {
02    if (n <= 0) return 0;
03    return g(n / 2) + n;
04}

g(7) 的返回值是( )。

(2 分)
原创 2026 · 单选 第8题 | 知识点 KJ-21d
第 9 题 单选 未作答

n=106n = 10^6 的递归求和应改用循环,主要原因是( )。

(2 分)
原创 2026 · 单选 第9题 | 知识点 KJ-21d
第 10 题 单选 未作答

尾递归是指( )。

(2 分)
原创 2026 · 单选 第10题 | 知识点 KJ-21d
第 11 题 单选 未作答

调试递归最有效的方法是( )。

(2 分)
原创 2026 · 单选 第11题 | 知识点 KJ-21d
第 12 题 单选 未作答

递归函数的标准代码结构是( )。

(2 分)
原创 2026 · 单选 第12题 | 知识点 KJ-21d
第 13 题 单选 未作答

递归的优点是( )。

(2 分)
原创 2026 · 单选 第13题 | 知识点 KJ-21d
第 14 题 单选 未作答

关于递归,错误的是( )。

(2 分)
原创 2026 · 单选 第14题 | 知识点 KJ-21d
第 15 题 单选 未作答

01int s(int n) { if (n == 0) return 0; return n + s(n - 1); }

s(4) 的返回值是( )。

(2 分)
原创 2026 · 单选 第15题 | 知识点 KJ-21d
第 16 题 单选 未作答

01int f(int n) { if (n <= 1) return 1; return n * f(n - 1); }

f(5) 的返回值是( )。

(2 分)
原创 2026 · 单选 第16题 | 知识点 KJ-21d
第 17 题 单选 未作答

递归算法 XYZ(A[1..n]):如果 n=1n=1 返回 A[1]A[1];否则 temp ← XYZ(A[1..n-1]),如果 temp < A[n] 返回 temp 否则返回 A[n]。该算法输出的是( )。(2020 年真题)

(2 分)
原创 2026 · 单选 第17题 | 知识点 KJ-21d
第 18 题 单选 未作答

01int p(int a, int n) {
02    if (n == 0) return 1;
03    return a * p(a, n - 1);
04}

p(2, 3) 的返回值是( )。

(2 分)
原创 2026 · 单选 第18题 | 知识点 KJ-21d
第 19 题 单选 未作答

01solve(n)
02  if n<=1 return 1
03  else if n>=5 return n*solve(n-2)
04  else return n*solve(n-1)

solve(7) 的返回值是( )。(2021 年真题)

(2 分)
原创 2026 · 单选 第19题 | 知识点 KJ-21d
第 20 题 单选 未作答

01void p(int n) {
02    if (n == 0) { cout << "*"; return; }
03    p(n - 1);
04    cout << n;
05}

p(3) 输出( )。

(2 分)
原创 2026 · 单选 第20题 | 知识点 KJ-21d
第 21 题 单选 未作答

01int q(int a, int b) {
02    if (b == 0) return a;
03    return q(b, a % b);
04}

q(12, 8) 的返回值是( )。

(2 分)
原创 2026 · 单选 第21题 | 知识点 KJ-21d
第 22 题 单选 未作答

01int c(int n) {
02    if (n <= 1) return 1;
03    return c(n - 1) + c(n - 2);
04}

c(5) 的返回值是( )。

(2 分)
原创 2026 · 单选 第22题 | 知识点 KJ-21d
第 23 题 单选 未作答

01int s(int arr[], int n) {
02    if (n == 0) return 0;
03    return arr[n-1] + s(arr, n-1);
04}

int a[] = {1, 2, 3}; s(a, 3) 返回( )。

(2 分)
原创 2026 · 单选 第23题 | 知识点 KJ-21d
第 24 题 单选 未作答

01void rev(string& s, int l, int r) {
02    if (l >= r) return;
03    swap(s[l], s[r]);
04    rev(s, l + 1, r - 1);
05}

rev("abc", 0, 2) 后字符串变为( )。

(2 分)
原创 2026 · 单选 第24题 | 知识点 KJ-21d
第 25 题 单选 未作答

01int bs(int a[], int l, int r, int x) {
02    if (l > r) return -1;
03    int mid = (l + r) / 2;
04    if (a[mid] == x) return mid;
05    if (a[mid] > x) return bs(a, l, mid - 1, x);
06    return bs(a, mid + 1, r, x);
07}

此算法的递归深度(最坏情况)是( )。

(2 分)
原创 2026 · 单选 第25题 | 知识点 KJ-21d
第 26 题 单选 未作答

01int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }

gcd(48, 36) 递归调用了( )次。

(2 分)
原创 2026 · 单选 第26题 | 知识点 KJ-21d
第 27 题 单选 未作答

01int fib(int n) {
02    if (n <= 1) return n;
03    return fib(n-1) + fib(n-2);
04}

fib(5) 的总调用次数(含 fib(0)fib(5) 自身)是( )。

(2 分)
原创 2026 · 单选 第27题 | 知识点 KJ-21d
第 28 题 单选 未作答

01void hanoi(int n, char a, char b, char c) {
02    if (n == 0) return;
03    hanoi(n-1, a, c, b);
04    cout << a << "->" << c << " ";
05    hanoi(n-1, b, a, c);
06}

hanoi(2, 'A', 'B', 'C') 输出( )。

(2 分)
原创 2026 · 单选 第28题 | 知识点 KJ-21d
第 29 题 单选 未作答

01int f(int n) {
02    if (n > 2) { f(n / 2); cout << n << " "; }
03    else cout << n << " ";
04}

f(12) 输出( )。

(2 分)
原创 2026 · 单选 第29题 | 知识点 KJ-21d
第 30 题 单选 未作答

01int m(int a, int b) {
02    if (b == 1) return a;
03    return a + m(a, b - 1);
04}

m(3, 4) 的返回值是( )。

(2 分)
原创 2026 · 单选 第30题 | 知识点 KJ-21d
第 31 题 单选 未作答

分治法的三个步骤是( )。

(2 分)
原创 2026 · 单选 第31题 | 知识点 KJ-21d
第 32 题 单选 未作答

分治与递归的关系是( )。

(2 分)
原创 2026 · 单选 第32题 | 知识点 KJ-21d
第 33 题 单选 未作答

分析递归复杂度的"递归树"方法核心是( )。

(2 分)
原创 2026 · 单选 第33题 | 知识点 KJ-21d
第 34 题 单选 未作答

f(n) 调用 f(n-1)(单分支、每层 O(1)O(1))的时间复杂度是( )。

(2 分)
原创 2026 · 单选 第34题 | 知识点 KJ-21d
第 35 题 单选 未作答

f(n) 调用 f(n/2)(单分支、每层 O(1)O(1))的时间复杂度是( )。

(2 分)
原创 2026 · 单选 第35题 | 知识点 KJ-21d
第 36 题 单选 未作答

fib(n) 调用 fib(n-1)fib(n-2)(双子树)的时间复杂度约是( )。

(2 分)
原创 2026 · 单选 第36题 | 知识点 KJ-21d
第 37 题 单选 未作答

归并排序的递归式是( )。

(2 分)
原创 2026 · 单选 第37题 | 知识点 KJ-21d
第 38 题 单选 未作答

快速排序最坏情况的递归式是( )。

(2 分)
原创 2026 · 单选 第38题 | 知识点 KJ-21d
第 39 题 单选 未作答

分治适用条件不包括( )。

(2 分)
原创 2026 · 单选 第39题 | 知识点 KJ-21d
第 40 题 单选 未作答

关于分治,错误的是( )。

(2 分)
原创 2026 · 单选 第40题 | 知识点 KJ-21d
第 41 题 单选 未作答

递推的定义是( )。

(2 分)
原创 2026 · 单选 第41题 | 知识点 KJ-31b
第 42 题 单选 未作答

递推与递归的关系是( )。

(2 分)
原创 2026 · 单选 第42题 | 知识点 KJ-31b
第 43 题 单选 未作答

递推 f(n)=f(n1)+3f(n) = f(n-1) + 3f(1)=1f(1) = 1f(5)=?f(5) = ?( )。

(2 分)
原创 2026 · 单选 第43题 | 知识点 KJ-31b
第 44 题 单选 未作答

递推 f(1)=1,f(2)=1f(1)=1, f(2)=1f(n)=f(n1)+f(n2)f(n) = f(n-1) + f(n-2)f(7)=?f(7) = ?( )。

(2 分)
原创 2026 · 单选 第44题 | 知识点 KJ-31b
第 45 题 单选 未作答

递推 f(n)=f(n1)+f(n2)f(n) = f(n-1) + f(n-2)f(1)=1,f(2)=1f(1)=1, f(2)=1 得斐波那契;改为 f(1)=1,f(2)=3f(1)=1, f(2)=3 得( )。

(2 分)
原创 2026 · 单选 第45题 | 知识点 KJ-31b
第 46 题 单选 未作答

递推编程的标准框架是( )。

(2 分)
原创 2026 · 单选 第46题 | 知识点 KJ-31b
第 47 题 单选 未作答

递推 f[0]=0,f[1]=1f[0]=0, f[1]=1f[i]=f[i1]+f[i2]f[i] = f[i-1] + f[i-2]f[6]=?f[6] = ?( )。

(2 分)
原创 2026 · 单选 第47题 | 知识点 KJ-31b
第 48 题 单选 未作答

递推 f(n)=2f(n1)f(n) = 2f(n-1)f(1)=1f(1)=1)的通项公式是( )。

(2 分)
原创 2026 · 单选 第48题 | 知识点 KJ-31b
第 49 题 单选 未作答

斐波那契 f(50)1.2×1010f(50) \approx 1.2 \times 10^{10}int(上限约 2.1×1092.1 \times 10^9)( )存下。

(2 分)
原创 2026 · 单选 第49题 | 知识点 KJ-31b
第 50 题 单选 未作答

递推 f(n)=f(n1)+f(n2)f(n) = f(n-1) + f(n-2) 只需前两项,不开数组只保留两个变量的做法叫( )。

(2 分)
原创 2026 · 单选 第50题 | 知识点 KJ-31b
第 51 题 单选 未作答

递推与动态规划的关系是( )。

(2 分)
原创 2026 · 单选 第51题 | 知识点 KJ-31b
第 52 题 单选 未作答

递推 f[i]=f[i1]+f[i2]f[i] = f[i-1] + f[i-2]i=?i = ? 开始循环(f[0]f[0]f[1]f[1] 已初始化)( )。

(2 分)
原创 2026 · 单选 第52题 | 知识点 KJ-31b
第 53 题 单选 未作答

递推 f(n)=3f(n1)f(n) = 3 \cdot f(n-1)f(0)=1f(0)=1),f(4)=?f(4) = ?( )。

(2 分)
原创 2026 · 单选 第53题 | 知识点 KJ-31b
第 54 题 单选 未作答

关于递推,错误的是( )。

(2 分)
原创 2026 · 单选 第54题 | 知识点 KJ-31b
第 55 题 单选 未作答

斐波那契数列的定义是( )。

(2 分)
原创 2026 · 单选 第55题 | 知识点 KJ-31b
第 56 题 单选 未作答

斐波那契 f(1)=1,f(2)=1f(1)=1, f(2)=1f(8)=?f(8) = ?( )。

(2 分)
原创 2026 · 单选 第56题 | 知识点 KJ-31b
第 57 题 单选 未作答

递推 f(1)=1,f(2)=2f(1)=1, f(2)=2f(n)=f(n1)+f(n2)f(n) = f(n-1) + f(n-2)f(6)=?f(6) = ?( )。

(2 分)
原创 2026 · 单选 第57题 | 知识点 KJ-31b
第 58 题 单选 未作答

递推 f(1)=2,f(2)=1f(1)=2, f(2)=1f(n)=f(n1)+f(n2)f(n) = f(n-1) + f(n-2)f(5)=?f(5) = ?( )。

(2 分)
原创 2026 · 单选 第58题 | 知识点 KJ-31b
第 59 题 单选 未作答

每次上 1122 阶台阶,上 nn 阶的方法数 f(n)=?f(n) = ?( )。

(2 分)
原创 2026 · 单选 第59题 | 知识点 KJ-31b
第 60 题 单选 未作答

每次上 112233 阶台阶,上 nn 阶的方法数递推是( )。

(2 分)
原创 2026 · 单选 第60题 | 知识点 KJ-31b
第 61 题 单选 未作答

long long 可存到 20!20!。斐波那契第( )项开始超 long long

(2 分)
原创 2026 · 单选 第61题 | 知识点 KJ-31b
第 62 题 单选 未作答

朴素斐波那契递归 fib(40) 在普通电脑上( )。

(2 分)
原创 2026 · 单选 第62题 | 知识点 KJ-31b
第 63 题 单选 未作答

斐波那契从递归 O(2n)O(2^n) 优化到迭代 O(n)O(n) 的关键是( )。

(2 分)
原创 2026 · 单选 第63题 | 知识点 KJ-31b
第 64 题 单选 未作答

Lucas 数列 L(1)=1,L(2)=3L(1)=1, L(2)=3L(n)=L(n1)+L(n2)L(n) = L(n-1) + L(n-2)L(5)=?L(5) = ?( )。

(2 分)
原创 2026 · 单选 第64题 | 知识点 KJ-31b
第 65 题 单选 未作答

斐波那契数列相邻两项的比值 f(n+1)f(n)\frac{f(n+1)}{f(n)} 趋近于( )。

(2 分)
原创 2026 · 单选 第65题 | 知识点 KJ-31b
第 66 题 单选 未作答

关于斐波那契数列,错误的是( )。

(2 分)
原创 2026 · 单选 第66题 | 知识点 KJ-31b
第 67 题 单选 未作答

汉诺塔问题:nn 个盘子从 A 移到 C(借助 B),每次移一个、大盘不能在小盘上面。至少需要( )次移动。

(2 分)
原创 2026 · 单选 第67题 | 知识点 KJ-21d
第 68 题 单选 未作答

汉诺塔递推 h(n)=2h(n1)+1h(n) = 2h(n-1) + 1h(1)=1h(1) = 1h(5)=?h(5) = ?( )。

(2 分)
原创 2026 · 单选 第68题 | 知识点 KJ-21d
第 69 题 单选 未作答

汉诺塔递归的正确代码结构是( )。

(2 分)
原创 2026 · 单选 第69题 | 知识点 KJ-21d
第 70 题 单选 未作答

汉诺塔 n=2n=2(A→C 借助 B),移动序列是( )。

(2 分)
原创 2026 · 单选 第70题 | 知识点 KJ-21d
第 71 题 单选 未作答

汉诺塔 n=3n = 3 至少需要( )次移动。

(2 分)
原创 2026 · 单选 第71题 | 知识点 KJ-21d
第 72 题 单选 未作答

汉诺塔递归 hanoi(n, src, tmp, tgt) 中第二参数和第三参数的含义是( )。

(2 分)
原创 2026 · 单选 第72题 | 知识点 KJ-21d
第 73 题 单选 未作答

汉诺塔的时间复杂度是( )。

(2 分)
原创 2026 · 单选 第73题 | 知识点 KJ-21d
第 74 题 单选 未作答

汉诺塔递归的正确性来自:把 nn 盘问题分解为( )。

(2 分)
原创 2026 · 单选 第74题 | 知识点 KJ-21d
第 75 题 单选 未作答

汉诺塔在竞赛中的典型意义是( )。

(2 分)
原创 2026 · 单选 第75题 | 知识点 KJ-21d
第 76 题 单选 未作答

关于汉诺塔,错误的是( )。

(2 分)
原创 2026 · 单选 第76题 | 知识点 KJ-21d
第 77 题 单选 未作答

递归 f(n)=f(n1)+nf(n) = f(n-1) + nf(0)=0f(0)=0)改写为循环是( )。

(2 分)
原创 2026 · 单选 第77题 | 知识点 KJ-21d、KJ-31b
第 78 题 单选 未作答

递推 f[i]=f[i1]+f[i2]f[i] = f[i-1] + f[i-2] 改写为递归是( )。

(2 分)
原创 2026 · 单选 第78题 | 知识点 KJ-21d、KJ-31b
第 79 题 单选 未作答

递归相对递推的优缺点是( )。

(2 分)
原创 2026 · 单选 第79题 | 知识点 KJ-21d、KJ-31b
第 80 题 单选 未作答

选择递归还是递推的主要依据是( )。

(2 分)
原创 2026 · 单选 第80题 | 知识点 KJ-21d、KJ-31b
第 81 题 单选 未作答

递归深度 10610^6 的函数要避免栈溢出,正确做法是( )。

(2 分)
原创 2026 · 单选 第81题 | 知识点 KJ-21d、KJ-31b
第 82 题 单选 未作答

用递推表填充替代递归的好处是( )。

(2 分)
原创 2026 · 单选 第82题 | 知识点 KJ-21d、KJ-31b
第 83 题 单选 未作答

记忆化递归的核心是( )。

(2 分)
原创 2026 · 单选 第83题 | 知识点 KJ-21d、KJ-31b
第 84 题 单选 未作答

斐波那契从递归转递推后时间复杂度从 O(2n)O(2^n) 变为( )。

(2 分)
原创 2026 · 单选 第84题 | 知识点 KJ-21d、KJ-31b
第 85 题 单选 未作答

递推 f[i]=f[i1]×2f[i] = f[i-1] \times 2f[0]=1f[0]=1)转递归的正确写法是( )。

(2 分)
原创 2026 · 单选 第85题 | 知识点 KJ-21d、KJ-31b
第 86 题 单选 未作答

关于递归与递推互转,错误的是( )。

(2 分)
原创 2026 · 单选 第86题 | 知识点 KJ-21d、KJ-31b
第 87 题 单选 未作答

倍增法的核心思想是( )。

(2 分)
原创 2026 · 单选 第87题 | 知识点 KJ-21d
第 88 题 单选 未作答

快速幂 anmodma^n \bmod m 用倍增思想,复杂度是( )。

(2 分)
原创 2026 · 单选 第88题 | 知识点 KJ-21d
第 89 题 单选 未作答

倍增求 LCA 时 fa[j][u] 的含义是( )。

(2 分)
原创 2026 · 单选 第89题 | 知识点 KJ-21d
第 90 题 单选 未作答

倍增法预处理 nn 个结点、logn\log n 层跳转表的空间复杂度是( )。

(2 分)
原创 2026 · 单选 第90题 | 知识点 KJ-21d
第 91 题 单选 未作答

倍增预处理代码的核心递推是( )。

(2 分)
原创 2026 · 单选 第91题 | 知识点 KJ-21d
第 92 题 单选 未作答

关于倍增法,错误的是( )。

(2 分)
原创 2026 · 单选 第92题 | 知识点 KJ-21d
第 93 题 单选 未作答

递归函数的终止条件( )。

(2 分)
原创 2026 · 单选 第93题 | 知识点 KJ-21d、KJ-31b
第 94 题 单选 未作答

递推与递归的主要区别是( )。

(2 分)
原创 2026 · 单选 第94题 | 知识点 KJ-21d、KJ-31b
第 95 题 单选 未作答

斐波那契递归 fib(30) 慢的原因是( )。

(2 分)
原创 2026 · 单选 第95题 | 知识点 KJ-21d、KJ-31b
第 96 题 单选 未作答

汉诺塔 h(n)=2n1h(n) = 2^n - 1h(10)=?h(10) = ?( )。

(2 分)
原创 2026 · 单选 第96题 | 知识点 KJ-21d、KJ-31b
第 97 题 单选 未作答

关于倍增,正确的是( )。

(2 分)
原创 2026 · 单选 第97题 | 知识点 KJ-21d、KJ-31b
第 98 题 单选 未作答

递归深度 10510^5 的函数可能发生( )。

(2 分)
原创 2026 · 单选 第98题 | 知识点 KJ-21d、KJ-31b
第 99 题 单选 未作答

递推 f(n)=f(n1)×2f(n) = f(n-1) \times 2f(0)=1f(0) = 1),f(10)=?f(10) = ?( )。

(2 分)
原创 2026 · 单选 第99题 | 知识点 KJ-21d、KJ-31b
第 100 题 单选 未作答

关于递归与递推,错误的是( )。

(2 分)
原创 2026 · 单选 第100题 | 知识点 KJ-21d、KJ-31b