作业介绍
最后三题是作业
什么是递归?
递归是一种函数自我调用的过程,用来解决可以被分解为类似但规模更小的子问题的问题。简单来说,递归函数是自己调用自己的函数。
为什么使用递归?
递归可以简化代码,使一些用迭代(循环)方式难以表达的算法变得容易实现。它特别适合于处理分形、树形结构、或者需要重复应用算法的场景。 递归的工作原理 递归函数通常有两个主要部分: 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 小时