作业介绍

最后三题是作业

什么是递归?

递归是一种函数自我调用的过程,用来解决可以被分解为类似但规模更小的子问题的问题。简单来说,递归函数是自己调用自己的函数。

为什么使用递归?

递归可以简化代码,使一些用迭代(循环)方式难以表达的算法变得容易实现。它特别适合于处理分形、树形结构、或者需要重复应用算法的场景。 递归的工作原理 递归函数通常有两个主要部分: 1.基本情况(Base Case):这是递归停止的条件,防止无限递归。当输入的参数满足某个条件时,函数直接返回结果,不再进行递归调用。 2.递归步骤(Recursive Step):在这一步,函数会调用自己,但是使用更小的参数值。每次递归调用都会将问题分解为更小的子问题,直到达到基本情况

函数 计算阶乘(n)
    如果 n <= 1 则
        返回 1
    否则
        返回 n * 计算阶乘(n-1)
结束函数
#include <bits/stdc++.h>
#define DEBUG(var) cout << "[DEBUG]" << #var << " = " << var << endl

using namespace std;

// 递归函数:将十进制数转换为目标进制
string convert(int num, int base) {
  if (num == 0) {
    return "";  // 递归终止条件
  }
  int remainder = num % base;  // 取余数
  char ch;
  if (remainder < 10) {
    ch = '0' + remainder;  // 数字字符
  } else {
    ch = 'A' + (remainder - 10);  // 字母字符
  }
  return convert(num / base, base) + ch;  // 递归拼接结果
}

int main() {
  int base, num;
  cin >> base >> num;

  if (num == 0) {
    cout << "0" << endl;  // 特殊情况:输入为 0
  } else {
    string result = convert(num, base);
    cout << result << endl;
  }

  return 0;
}

题目

认领作业后才可以查看作业内容。
状态
正在进行…
题目
14
开始时间
2025-2-11 0:00
截止时间
2222-1-29 23:59
可延期
24 小时